Каковы преимущества нового синтаксиса хэша в Ruby 1.9?
Кроме того, чтобы сделать его более понятным для определения хэшей с символами в качестве ключей, существуют ли другие преимущества написания хэша как:
{key1: "value1", key2: "value2"}
вместо {:key1 => "value1", :key2 => "value2"}
?
Кроме того, что такое соглашение, когда у вас есть сочетание строк и символов в качестве хеш-ключей?
Вы пишете его как {"key1" => "value1", key2: "value2"}
или сохраняете стильный стиль как {"key1" => "value1", :key => "value2"}
Ответы
Ответ 1
Это просто выглядит лучше - это синтаксический сахар; это заканчивается тем же самым.
При смешивании клавиш (ew, зачем вы это делаете?) Я использую старый синтаксис хэш-ракеты для всего хэша.
С символьными значениями я также использую старый синтаксис хэш-ракеты для всего хэша – это выглядит нехорошо:
{ ohai: :kthxbye }
Мне не нравится смешивать два стиля в одном и том же хэше, я думаю, что это запутывает.
Все это зависит от личных предпочтений.
Ответ 2
Он короче и похож на нотацию JavaScript. Не стоит переносить старую нотацию на новую по какой-либо причине, но в противном случае выберете то, что вам нравится.
Всегда сохраняйте код согласованным, не смешивайте нотации. Это более читаемо таким образом.