여러 문자열을 함께 결합하는 것은 Ruby에서 자주 수행해야 하는 작업입니다.
하지만 어떻게 그렇게 할 수 있습니까?
음...
두 가지 방법이 있습니다 :
- 루비 문자열 연결
- 루비 문자열 보간
연결은 다음과 같습니다. :
a = "Nice to meet you" b = ", " c = "do you like blueberries?" a + b + c # "Nice to meet you, do you like blueberries?"
+
를 사용할 수 있습니다. 다른 문자열에 문자열을 추가하는 연산자입니다.
이 경우 a + b + c
, 새 문자열을 생성합니다.
Btw, 이 작업을 수행하기 위해 변수를 사용할 필요가 없습니다.
예 :
puts "I like" + " " + "chocolate" # I like chocolate
또 다른 옵션은 +=
를 사용하는 것입니다. 연산자.
예 :
a = "" a += "test" a += "test" a += "test" a # "testtesttest"
빈 문자열로 시작하여 추가하여 더 큰 문자열을 만듭니다.
하지만 여기에는 한 가지 문제가 있습니다...
매우 느립니다!
다음 솔루션이 제공됩니다.
Ruby Concat 메소드 예
Ruby concat
를 사용할 수 있습니다. 문자열을 효율적으로 병합하는 방법입니다.
방법은 다음과 같습니다. :
str = "" str.concat("a") str.concat("a") str # "aa"
str
문자열을 변경하므로 더 빠릅니다. , 새로 만드는 대신.
그러나 이것은 +=
만큼 좋지 않습니다. …
다른 방법이 있나요?
네!
<<
를 사용할 수 있습니다. concat
의 별칭인 메서드 .
참고 :Ruby 2.4부터는 concat
와 약간의 차이가 있습니다. <<
를 사용하여 여러 인수를 전달할 수 있습니다. 한 번에 하나만 통과할 수 있습니다.
예 :
str = "" str << "a" str << "a"
이 작업도 수행할 수 있습니다. :
str = "" str << "a" << "a"
이제 한 가지 문제만 남았습니다.
문자열을 변수와 결합하고 싶지만 변수 중 하나가 문자열이 아닌 경우 예기치 않은 결과가 나타납니다.
살펴보기 :
"" + 1 # TypeError: no implicit conversion of Fixnum into String "" << 1 # "\x01"
해결책은 무엇입니까?
to_s 메소드를 사용하여 모든 새 객체를 문자열로 변환합니다.
좋아요 :
"" + 1.to_s
물론 이것은 추한 속도가 빨라지므로 사용할 수 있는 다른 도구가 있습니다.
루비 문자열 보간법 사용 방법
변수를 문자열로 보간하거나 병합하는 것은 강력한 기술입니다.
문자열을 "템플릿화"할 수 있습니다.
예시 :
age = 33 name = "Jesus" "Hello, my name is #{name} & I'm #{age} years old."
모든 name
을(를) 연결할 수 있습니다. &age
문자열 앞에 변수로 설정하여.
가장 좋은 점은?
Ruby는 이러한 값을 문자열로 변환합니다.
따라서 to_s
를 호출할 필요가 없습니다. !
좋은 자료입니다.
문자열 추가
문자열을 결합하는 또 다른 방법이 있습니다.
"문자열 보간"을 사용하여 변수와 더 작은 문자열을 새로운 것으로 결합하는 대신
또는 <<
로 끝에 추가 &concat
.
prepend
추가할 수도 있습니다. !
예 :
str = "" str.prepend("1") str.prepend("2") str.prepend("3") # "321"
append
가 있다고 생각하는 경우 방법은 없습니다.
어레이에만 해당됩니다.
요약
Ruby에서 문자열 연결, 추가, 앞에 추가 및 보간에 대해 배웠습니다. 이를 통해 여러 문자열을 결합할 수 있습니다.
도움이 되셨다면 이 글을 공유해주세요 🙂
읽어주셔서 감사합니다.