Ruby nesne anahtarlarını dizi olarak alır


99

Ruby'de yeniyim, böyle bir nesnem varsa

{"apple" => "fruit", "carrot" => "vegetable"}

Yalnızca anahtarlardan oluşan bir diziyi nasıl döndürebilirim?

["apple", "carrot"]

Kullanmak verebilmeleri için nesne, bir Hash olduğu keysgibi yöntem {"apple" => "fruit", "carrot" => "vegetable"}.keys. Daha fazla bilgi için ruby-doc.org/core-1.9.3
taro

Yanıtlar:


220
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.keys   #=> ["apple", "carrot"]

bu kadar basit


16

Daha fazlasına ihtiyacınız varsa alternatif bir yol ( keysyöntemi kullanmanın yanı sıra ):

hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.collect {|key,value| key }

açıkçası, bunu yalnızca diziyi alırken değiştirmek isterseniz yaparsınız ..



2

keysYöntemi kullanın :{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.