잘 언급 된 RIP Hash rocket post은 Hash Rocket 구문 (:foo => "bar"
)이 new-to-Ruby JSON 스타일 해시 (foo: "bar"
)를 사용하지 않으려는 것 같지만 해시 로켓을 나타내는 최종 참조를 찾을 수 없습니다. 양식은 실제로 Ruby 1.9부터는 더 이상 사용되지 않거나 권고되지 않습니다.Hash Rocket은 더 이상 사용되지 않습니까?
88
A
답변
119
이 블로그 게시물의 저자는 =>
는 stillquitenecessary이다, 지나치게 극적이고 어리석은되고 있습니다. 특히 :
- 당신은 인용 필요 심볼 로켓을 사용해야합니다
:'where.is' => x
은 유효하지만 가 없습니다. Ruby 2.2에서는이 문제를 해결하여 Ruby 2.2 이상에서 이라고 말할 수 있습니다. - 유효 라벨이 아닌 기호에는 로켓을 사용해야합니다 :
:$set => x
은 유효하지만$set: x
은 유효하지 않습니다. Ruby 2.2 이상에서는 따옴표로이 문제를 해결할 수 있습니다.'$set': x
은 올바른 일을합니다. - 해시에서 기호가 아닌 키를 사용하는 경우 로켓을 사용해야합니다.
's' => x
은 유효하지만's': x
은 완전히 다른 것입니다.
당신은 물론 명백한 방식으로 위의 주위에 kludge 수 있습니다
h = { }
h[:'where.is'] = 'pancakes house?'
# etc.
하지만 그건 그냥 못생긴 불필요한입니다.
로켓은 Ruby 's Hashes를 손상시키지 않으면 서 어디에도 가지 않습니다.
나는 그 사람이 레일즈에서만 루비를 사용한다고 생각한다. –