2014-04-04 27 views
6

yönteminden döndürülen karma ile atama Ben bir karma haritası { :name => "Test", :desc => "Test Description } döndüren bir yöntem var. Her zaman :name ve :description döndürür.Bir satırda birden çok değişkeni ruby ​​

Döndürülen kareyle birlikte 2 değişkenleri nasıl atayabilirim.

Bunu yapabilirdi ama iki kez yöntemini çağırır:

@name, @desc = get_name_desc_map[:name], get_name_desc_map[:desc] 

Sadece bir kez yöntemi çağırmak istiyorum.

cevap

13

kullanarak çok basit Ruby'nin paralel atama: (orijinal karma anahtarları sırasını bilmiyorsanız)

@name, @desc = get_name_desc_map.values 

Diğer yoludur:

@name, @desc = get_name_desc_map.values_at(:name, :desc) 

Hash#values_at ve Hash#values .

İlgili konular