2014-04-21 3 views
0

Ruby에서 놀고 있었는데 "a""b""ab"을 반환한다는 것을 알았습니다. 이 아주 이상하고 쓸모없는 것을 좋아한다면, 나는 이것이 무엇이라고 부르는지, 그것이 목적이 있는지 궁금해하고 있었다. 나는 어떤 대답을 주셔서 감사합니다. 감사!Ruby에서의 이상한 문자열 동작

답변

0

나는 이것을 결코 알아 채지 못했고 이것은 <<+과 같은 연결의 다른 형태 인 것으로 보인다.

5

이것은 "string literal concatenation"이며 많은 언어에서 일반적입니다. 보다 구체적으로, 다른 연산자에 의해 분리되지 않은 인접 문자열 리터럴은 자동으로 함께 연결됩니다. 그것들은 단지 하나의 문자열 리터럴로 간주 될 수 있습니다.

이것은 C, C++, Python 및 Ruby에 몇 가지만 존재합니다.

예 긴 문자열을 여러 개의 거짓말로 나누고 각 부분에 주석을다는 기능을 추가하는 것입니다. 뭔가 파이썬에서 다른 일 쓴 :이 방법은 단 하나의 매개 변수 문자열을 소요

hdr = struct.Struct('<' 
    '8s'  # 0x00 Magic value 
    'I'   # 0x08 Offset 
    'I'   # 0x0C Length 
    'H'   # 0x10 Type 
    'H'   # 0x12 Flags 
)    # 0x14 (Total) 

참고, 나는 수동으로 조각을 연결하지 않았다.

+0

흠, 흥미 롭습니다. 이것에 대한 실제적인 적용이 있습니까? – Addison