반응형
키에 대시가있는 Ruby 1.9 해시
루비 1.9에서 새로운 구문으로이 해시를 정의하는 방법이 있습니까?
irb> { a: 2 }
=> {:a=>2}
irb> { a-b: 2 }
SyntaxError: (irb):5: syntax error, unexpected tLABEL
{ a-b: 2 }
^
이전 버전에서는 작동합니다.
irb> { :"a-b" => 2 }
=> {:"a-b"=>2}
다음 구문을 사용할 수도 있습니다.
{a: 1, b: 2, 'c-c': 3, d: 4}
새 구문에서 사용할 수없는 합법적 인 기호가 있습니다. 참조를 찾을 수 없지만 /^[a-zA-Z_][a-zA-Z_0-9]*[!?]?$/
새 구문과 일치하는 기호 이름 이 허용되는 것 같습니다. 마지막 문자는 특수 문자 "!"일 수 있습니다. 또는 "?".
이러한 제한 사항을 충족하지 않는 기호의 경우 Ruby 1.8 구문을 사용해야합니다. :'my-symbol-name'
새 구문에 대시를 사용하려면 :
<%= link_to "Link", link_path, {data: {something: 'value1', somethingelse: 'value2'}} %>
그러면 다음이 생성됩니다.
<a href="/link" data-something='value1' data-somethingelse='value2'>Link</a>
이것은 귀하의 특정 사용 사례가 아닐 수도 있지만 직접 답변을 찾으려고 노력 하면서이 게시물을 찾았으므로 결과를 공유 할 것이라고 생각했습니다.
이전 구문과 새 구문을 결합 할 수 있습니다.
{a: 1, b: 2, :'c-c' => 3, d: 4}
참조 URL : https://stackoverflow.com/questions/2134702/ruby-1-9-hash-with-a-dash-in-a-key
반응형
'IT story' 카테고리의 다른 글
C ++의 UTF-8에서 std :: string을 올바르게 사용하려면 어떻게해야합니까? (0) | 2021.01.07 |
---|---|
스크립트를로드 할 수 없습니다. Metro 서버를 실행 중인지 또는 번들 'index.android.bundle'이 릴리스 용으로 올바르게 패키징되었는지 확인하십시오. (0) | 2021.01.07 |
C # 4.0 : pdf를 byte []로 또는 그 반대로 변환 (0) | 2021.01.06 |
서블릿 대 필터 (0) | 2021.01.06 |
명령 줄의 어셈블리 버전? (0) | 2021.01.06 |