Инициализация хэша в Ruby: возможна ли эта изящность? - PullRequest
1 голос
/ 15 апреля 2009

Этот код работает, конечно:

@x = { :all => { :x => 1, :y => 2 } }

Но это не так:

@x = { :abc, :all => { :x => 1, :y => 2 } }

Есть ли способ сделать то, что я хочу здесь? я хочу, чтобы два ключа в хэше ссылались на одно и то же значение (копию a). Но я хочу указать значение только один раз.

Ответы [ 2 ]

6 голосов
/ 15 апреля 2009

Да, здесь:

@x = { :all => tmp = { :x => 1, :y => 2 }, :abc => tmp }
0 голосов
/ 20 октября 2009

Как насчет следующего:

@x = { :all => tmp = { :x => 1, :y => 2 }, :abc => tmp.reject {|k,v| false} }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...