Ruby отримує об’єктні ключі як масив


97

Я новачок у Рубі, якщо у мене є такий предмет

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

Як я можу повернути масив лише ключів?

["apple", "carrot"]

Ваш об’єкт - це хеш, тому ви можете використовувати такий keysметод {"apple" => "fruit", "carrot" => "vegetable"}.keys. Для отримання додаткової інформації відвідайте ruby-doc.org/core-1.9.3
таро

Відповіді:


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

це так просто


16

Альтернативний спосіб, якщо вам потрібно щось більше (крім використання keysметоду):

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

очевидно, ви б це зробили, лише якщо хочете маніпулювати масивом, отримуючи його ..



2

Використовуйте keysметод:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.