Подтвердить что ты не робот

Нотация шестнадцатеричного дробления рубина с строковыми клавишами

Используя 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" 
4b9b3361

Ответ 1

Это правильно - новое обозначение двоеточия для хэшей работает только тогда, когда клавиши являются символами.

Извините, это именно так.

Обновление: общие символы поддерживаются с использованием новой нотации в ruby ​​2.2 и более поздних версиях (строки по-прежнему отсутствуют):

irb
2.2.2 :001 > {'abc': 5}
=> {:abc=>5}