При изучении рельсов меня часто путают, когда в некоторых сценариях двоеточие помещается перед словом, а в других случаях оно помещается после слова. Я читал и перечитывал, чтобы попытаться понять это лучше и до сих пор определил, что, когда двоеточие помещается перед словом, это символ.Использование символов в качестве хеш-ключей
Я думал, что понял это, пока не прочитал «Agile Web Development with Rails 4 (Facets of Ruby), page 56».
Я правильно понимаю, что символ имеет двоеточие перед его именем, даже когда он используется в качестве ключа в хэше, однако существует альтернативный синтаксис, который помещает двоеточие после имени символа в хэш?
Обратите внимание, что JavaScript-трейлинг-стиль двоеточия не всегда работает, даже если вы используете символы в качестве ключей хэша. '{: $ set => {...}}', например, является допустимым, но '{$ set: {...}}' является синтаксической ошибкой. –
Возможно, вас заинтересует [** Исключено ли Hash Rocket? **] (http://stackoverflow.com/q/10004158/479863), [** Как создать символ (хеш-ключ) из ассоциации, используя новый рубин (1.9) хэш-синтаксис? **] (http://stackoverflow.com/q/8796358/479863) и [** Поддержка синтаксиса хэша Ruby 1.9 в Ruby 1.8 **] (http://stackoverflow.com/q/9694209/479863). И проверьте разделы * Related * в боковых панелях по этим вопросам для более подробного обсуждения этой запутанной функции Ruby. –