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

Синтаксис хэша в Ruby

Согласно The Well Grounded Rubyist:

Ruby разрешает специальную форму представления символа в позиции хеш-ключа с двоеточием после символа вместо него, а стрелка-разделитель хэшей удаляется. Другими словами, это:

hash = { :name => "David", :age => 49 }

также можно записать следующим образом:

hash = { name: David, age: 49 }

Я пробовал предыдущий код в ruby ​​1.8.7 и 1.9.2 - он не работает. Что я делаю неправильно?

4b9b3361

Ответ 1

Новый синтаксис хэша в Ruby 1.9 по-прежнему требует, чтобы строки цитировались, поэтому вместо David вам нужно "David".

Попробуйте следующее:

hash = { name: "David", age: 49 }

Если книга использовала голые слова David без кавычек, это неправильно. Возможно, вам будет интересно прочитать некоторые из другие ошибки.