루비 문자열 보간

루비 문자열 보간

2022-09-16 last update

5 minutes reading Ruby
문자열 보간은 문자열 개체의 다른 값을 참조하는 자리 표시자를 추가하는 프로세스를 나타냅니다. 문자열로 보간된 값은 해당 값으로 평가됩니다. 문자열 보간은 템플릿 주입의 한 형태로 볼 수 있습니다.
이 가이드에서는 Ruby 프로그래밍 언어에서 문자열을 보간하는 방법에 대해 설명합니다.

+ 연산자 사용


리터럴 문자열에서 값을 보간하는 가장 쉬운 방법은 더하기 연산자를 사용하는 것입니다. 아래에 표시된 예를 고려하십시오.
name = "Alice"
puts "Hello " + name
위의 예에서는 name이라는 변수를 선언합니다. "Alice"라는 가치를 가지고 있습니다. 더하기 연산자를 사용하여 문자열 값으로 보간합니다.
Ruby 인터프리터는 변수 이름이 참조하는 값을 가져와 실제 값으로 사용합니다. 결과 출력은 다음과 같습니다.
$ ruby interpolation.rb
Hello Alice
더하기 연산자에는 변수를 문자열로 보간할 때 단점이 있습니다. 문자열 객체에서만 작동합니다.
아래의 예를 들어보세요.
age = 10
puts "I am " + age + " years old"
이러한 작업을 실행하려고 하면 Ruby는 TypeError를 반환합니다.
`+': nil을 String으로 암시적으로 변환하지 않음(TypeError)
이러한 문제를 해결하는 한 가지 방법은 to_s 메서드를 사용하여 변수를 문자열로 변환하는 것입니다.
예를 들어:
age = 10
puts ("I am " + age.to_s + " years old")
이제 정수 변수를 문자열로 캐스팅하여 문자열에 삽입할 수 있습니다.

<< 연산자 사용


왼쪽 시프트 연산자는 더하기 연산자와 유사하게 작동합니다. 전달된 변수를 문자열 리터럴에 주입합니다.
예시:
lang = "Ruby"
puts lang << " is an fun!"
더하기 연산자와 유사하게 TypeError를 방지하려면 변수를 문자열로 변환해야 합니다.

#{} 사용


위에서 논의한 두 가지 방법에는 한 가지 단점이 있습니다. 문자열 리터럴 내에서 표현식을 수행하는 것은 복잡해집니다.
아래의 예를 살펴보십시오.
radius = 7.43
puts "The area of the cirlcle of radius " + radius.to_s + " is " + radius * radius * 3.141 + " cm2"
위에서 논의한 방법을 사용하여 위의 작업을 수행할 수 없습니다.
이 문제를 해결하기 위해 Ruby에서 표현식 대체 연산자를 사용할 수 있습니다.
구문은 다음과 같습니다.
#{variable}
중괄호 쌍 안에 변수나 표현식을 넣습니다. Ruby는 표현식을 평가하고 문자열로 보간합니다.
보간 연산자를 사용하는 이전 예를 고려하십시오.
radius = 7.43
puts "The area of the cirlcle of radius #{radius} is #{radius * radius * 3.141} cm2"
그게 훨씬 낫습니다. 위의 표기법을 사용하여 문자열 내부에 단일 변수와 유효한 루비 표현식을 주입할 수 있습니다.
다음은 결과 출력입니다.
$ ruby substring.rb
The area of the cirlcle of radius 7.43 is 173.3985909 cm2
이 경우 표현식을 수행하고 문자열로 변환한 다음 문자열로 보간할 필요가 없습니다.
이 방법을 사용하면 Ruby가 모든 것을 처리합니다.

결론


이 가이드에서는 더하기 연산자, 왼쪽 시프트 및 표현식 대체 연산자와 같은 기능을 사용하여 Ruby 언어에서 문자열 보간 작업을 수행하는 방법을 설명했습니다.