Нотация шестнадцатеричного дробления рубина с строковыми клавишами
Используя ruby 1.9.3, строковые ключи, похоже, не работают с нотной записью Hash:
1.9.3p194 :005 > {abc: 5}
=> {:abc=>5}
1.9.3p194 :004 > {'abc': 5}
SyntaxError: (irb):4: syntax error, unexpected ':', expecting tASSOC
{'abc': 5}
^
Я думаю, что я использую правильную версию Ruby
1.9.3p194 :006 > RUBY_ENGINE
=> "ruby"
1.9.3p194 :007 > RUBY_VERSION
=> "1.9.3"
Ответы
Ответ 1
Это правильно - новое обозначение двоеточия для хэшей работает только тогда, когда клавиши являются символами.
Извините, это именно так.
Обновление: общие символы поддерживаются с использованием новой нотации в ruby 2.2 и более поздних версиях (строки по-прежнему отсутствуют):
irb
2.2.2 :001 > {'abc': 5}
=> {:abc=>5}