
루비 문자열 보간
2022-09-16 last update
5 minutes reading Ruby문자열 보간은 문자열 개체의 다른 값을 참조하는 자리 표시자를 추가하는 프로세스를 나타냅니다. 문자열로 보간된 값은 해당 값으로 평가됩니다. 문자열 보간은 템플릿 주입의 한 형태로 볼 수 있습니다.
이 가이드에서는 Ruby 프로그래밍 언어에서 문자열을 보간하는 방법에 대해 설명합니다.
리터럴 문자열에서 값을 보간하는 가장 쉬운 방법은 더하기 연산자를 사용하는 것입니다. 아래에 표시된 예를 고려하십시오.
Ruby 인터프리터는 변수 이름이 참조하는 값을 가져와 실제 값으로 사용합니다. 결과 출력은 다음과 같습니다.
아래의 예를 들어보세요.
`+': nil을 String으로 암시적으로 변환하지 않음(TypeError)
이러한 문제를 해결하는 한 가지 방법은 to_s 메서드를 사용하여 변수를 문자열로 변환하는 것입니다.
예를 들어:
왼쪽 시프트 연산자는 더하기 연산자와 유사하게 작동합니다. 전달된 변수를 문자열 리터럴에 주입합니다.
예시:
위에서 논의한 두 가지 방법에는 한 가지 단점이 있습니다. 문자열 리터럴 내에서 표현식을 수행하는 것은 복잡해집니다.
아래의 예를 살펴보십시오.
이 문제를 해결하기 위해 Ruby에서 표현식 대체 연산자를 사용할 수 있습니다.
구문은 다음과 같습니다.
보간 연산자를 사용하는 이전 예를 고려하십시오.
다음은 결과 출력입니다.
이 방법을 사용하면 Ruby가 모든 것을 처리합니다.
이 가이드에서는 더하기 연산자, 왼쪽 시프트 및 표현식 대체 연산자와 같은 기능을 사용하여 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 언어에서 문자열 보간 작업을 수행하는 방법을 설명했습니다.