Хеш 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}
55
задан makevoid 6 April 2012 в 01:20
поделиться

1 ответ

Существуют некоторые законные символы, которые не могут быть использованы с новым синтаксисом. Я не могу найти ссылку, но кажется, что сопоставление имени символа / ^ ^ [A-ZA-Z _] [A-ZA-Z_0-9] * [!?]? $ / разрешено с Новый синтаксис. Последний символ может быть особенным символом "!" или же "?".

Для любого символа, который не соответствует этим ограничениям, вы должны использовать синтаксис Ruby 1.8, : «Мое-символ имени»

64
ответ дан 7 November 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: