2011-11-20 4 views

답변

18

구문은 해시 키/값 쌍을 정의하는 데 사용되며 차이점은 Ruby 버전에 따라 다릅니다.

foo: true 
: 당신은 아마 구문을 사용한다 루비 1.9에서 개발하는 경우 모두 루비 1.8 루비 1.9

:foo => true 

에서 지원

만 루비 1.9

foo: true 

에서 지원

커뮤니티가 들어오는 방향 인 것으로 보입니다.

+2

'=>'은 더 이상 사용되지 않을 것이라고 들었습니까? –

+1

그래,'=>'가 더 이상 사용되지 않을 것이라고 들었어? 나는 그런 것을 기억하지 않는다. 그리고 그것이 사실이라 할지라도, 모든 객체가 키 역할을 할 수있는 주요 해시 기능이 중단됩니다. 그렇게되면 심볼 만 키로 사용할 수 있습니다! 예 :'{Object => Object}'는 더 이상 존재하지 않습니다. [그것은 의사 코드의 일종입니다]. – omninonsense

+0

미안 내가 그것을 만들었을지도 모른다는 말을 기억하지 못한다. 나는 그것에 대한 참조를 결국은 사용되지 않게되었습니다. – JDutil

6

후자는 1.9에 도입 된 새로운 해시 구문이다. 예를 들어, 참조 :

http://breakthebit.org/post/8453341914/ruby-1-9-and-the-new-hash-syntax

은 두 줄을 생성 동일한 지 해시.

+2

이것은 키가 기호 인 경우에만 사용됩니다. 키에 대해 다른 객체가 필요하면 이전처럼 굵은 화살표가 필요합니다. –

관련 문제