Каковы преимущества нового синтаксиса хэша в 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. Не стоит переносить старую нотацию на новую по какой-либо причине, но в противном случае выберете то, что вам нравится.

Всегда сохраняйте код согласованным, не смешивайте нотации. Это более читаемо таким образом.