2011-04-07 3 views
2

나는 이것을 몇 번 보았지만 실제로 그것을 결코 이해하지 못했다. 누군가이 구문이 어떻게 문자열을 만드는 지 설명 할 수 있습니까?루비 문자열을 만드는 다른 방법

STRING = <<-EOS 
This is a string!! 
EOS 

puts STRING 
=> "This is a string!!" 

으로 먼저 나는 <<-EOS 특별한 무언가가있다라고 생각하지만 실제로 어떤 문자와 함께 작동하도록 나타납니다. 예를 들어 <<x도 작동합니다.

이 구문의 의미를 정확히 설명 할 수 있습니까? 그리고 어떻게 문자열이 만들어지는 것입니까?

답변

0

Here 문서라고합니다. "문자열"을 사용하여 더 나은 설명을 참조하십시오

+1

doc 링크는 thx입니다! – brad

+7

"여기 의사를 참조하십시오"보다 자세한 설명을 쓸 수 있습니까? – rudolph9

8

이 기능은 heredoc이라고하며이 기능은 파서에 내장되어 있습니다.

EOS을 원하는 문자열로 변경할 수 있습니다. 그 이유는 어떤 이유에서든 문자열에 EOS (또는 따옴표)이라는 단어를 넣어야하는 경우 문자열에 나타나지 않는 문자열의 끝을 나타내는 편리한 신호를 선택할 수 있기 때문입니다. 그래서 문자열에서 아무 것도 벗어날 필요가 없습니다.

+0

켄이 말한 것을 확장하려면 heredocs가 쉘 및 Perl을 포함한 많은 언어로 사용됩니다. 일반 문자열과 유사하게 변수를 포함 할 수 있으므로 서식있는 텍스트를 빠르게 작성하기가 쉽기 때문에 서식 파일로 매우 강력 할 수 있습니다. –

+0

thx, 좋은 설명! kurumi에서 문서에 대한 링크가 다 설명해주었습니다 – brad

관련 문제