Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Ruby의 문자열 연결 및 보간(예제 포함)

여러 문자열을 함께 결합하는 것은 Ruby에서 자주 수행해야 하는 작업입니다.

하지만 어떻게 그렇게 할 수 있습니까?

음...

두 가지 방법이 있습니다 :

  1. 루비 문자열 연결
  2. 루비 문자열 보간

연결은 다음과 같습니다. :

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에서 문자열 연결, 추가, 앞에 추가 및 보간에 대해 배웠습니다. 이를 통해 여러 문자열을 결합할 수 있습니다.

도움이 되셨다면 이 글을 공유해주세요 🙂

읽어주셔서 감사합니다.