2010-10-31 3 views

답변

47

to_sym은 문자열을 기호로 변환합니다. 예를 들어 "a".to_sym:a이됩니다.

레일스에만 국한되지는 않습니다. 바닐라 루비도 마찬가지입니다.

루비의 일부 버전처럼 보이는 심볼도 픽스 넘으로 변환 될 수 있습니다. 하지만 ruby-lang.org의 Ruby 1.9.2-p0에서 to_sym 메서드를 Fixnum에 추가하지 않는 한 허용하지 않습니다. Rails가 그렇게하는지 확신 할 수는 없지만 어떤 경우에도 그렇게 유용하지는 않습니다.

+5

코드에서 to_sym을 사용하는 경우주의하십시오! 당신은 부추가 있을지도 모릅니다. 기호는 결코 루비에 의해 할당되지 않습니다. – fotanus

+28

@fotanus 나는 어떤 종류의 채소 라기보다는 당신이 기억 ** 누출 **을 의미한다고 생각한다. http://en.wikipedia.org/wiki/Leek –

+0

안녕하세요 @ 카오, 대답 해 주셔서 감사합니다. 왜'.to_sym!'('!'와 함께)이 작동하지 않는지 말해 주시겠습니까? 나는이 ideone에서 그것을 사용했다 : http://ideone.com/D7dZNz 그리고 그것은 작동하지 않는 것 같다. 고맙습니다! –