Ruby รับคีย์ออบเจ็กต์เป็นอาร์เรย์


99

ฉันยังใหม่กับ Ruby ถ้าฉันมีวัตถุแบบนี้

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

ฉันจะส่งคืนอาร์เรย์ของคีย์ได้อย่างไร

["apple", "carrot"]

วัตถุของคุณคือ Hash ดังนั้นคุณสามารถใช้keysวิธีการเช่น{"apple" => "fruit", "carrot" => "vegetable"}.keys. ดูข้อมูลเพิ่มเติมได้ที่ruby-doc.org/core-1.9.3
เผือก

คำตอบ:



16

อีกทางเลือกหนึ่งหากคุณต้องการอะไรเพิ่มเติม (นอกเหนือจากการใช้keysวิธีนี้):

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

เห็นได้ชัดว่าคุณจะทำเช่นนั้นก็ต่อเมื่อคุณต้องการจัดการอาร์เรย์ในขณะที่ดึงข้อมูล ..


4

เช่นเดียวกับที่ทาโร่กล่าวว่าkeysจะส่งคืนอาร์เรย์ของคีย์ของแฮชของคุณ:

http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys

คุณจะพบวิธีการต่างๆทั้งหมดที่มีให้สำหรับแต่ละคลาส

หากคุณไม่ทราบว่าคุณกำลังจัดการกับอะไร:

 puts my_unknown_variable.class.to_s

สิ่งนี้จะส่งออกชื่อคลาส


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.