Symbol
하지만 그것을 변경하는 경우 약간 + 대신 안녕하세요 세계 문자열을 분리하는 공간의 사용 :
x = "hello" " world".to_sym
puts x.class
의 의 이 작동하고 있습니다
나 출력을 생산하는 심볼로 두 문자열을 연결하는 오류가 발생합니다 :
x = "hello" + " world".to_sym
puts x.class
다음과 같은 오류가 발생합니다. "hello"문자열에 연결하기 전에 "world".to_sym 호출을 다시 캐스팅하려고하기 때문입니다.
in `+': can't convert Symbol into String (TypeError)
첫 번째 예제가로 작동하게하는 것은 무엇입니까? 누구든지 작업 순서가 무엇인지 알고 있습니까? 나는 두 개의 문자열이 실제로 하나로서 다루어지고, 그 사이의 공간은 무시되고 to_sym 메서드가 호출되기 전에 연결된 것으로 의심된다. 실제로 "hello"와 "world"의 내용을 결합하려고 시도하기 전에 to_sym이 "world"문자열에서 호출 될 것이라고 생각했기 때문에 두 번째 예제와 다르게 작동 할 것으로 예상했습니다.