ฉันยังใหม่กับ Ruby ถ้าฉันมีวัตถุแบบนี้
{"apple" => "fruit", "carrot" => "vegetable"}
ฉันจะส่งคืนอาร์เรย์ของคีย์ได้อย่างไร
["apple", "carrot"]
ฉันยังใหม่กับ Ruby ถ้าฉันมีวัตถุแบบนี้
{"apple" => "fruit", "carrot" => "vegetable"}
ฉันจะส่งคืนอาร์เรย์ของคีย์ได้อย่างไร
["apple", "carrot"]
คำตอบ:
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.keys #=> ["apple", "carrot"]
มันง่ายมาก
อีกทางเลือกหนึ่งหากคุณต้องการอะไรเพิ่มเติม (นอกเหนือจากการใช้keys
วิธีนี้):
hash = {"apple" => "fruit", "carrot" => "vegetable"}
array = hash.collect {|key,value| key }
เห็นได้ชัดว่าคุณจะทำเช่นนั้นก็ต่อเมื่อคุณต้องการจัดการอาร์เรย์ในขณะที่ดึงข้อมูล ..
เช่นเดียวกับที่ทาโร่กล่าวว่าkeys
จะส่งคืนอาร์เรย์ของคีย์ของแฮชของคุณ:
http://ruby-doc.org/core-1.9.3/Hash.html#method-i-keys
คุณจะพบวิธีการต่างๆทั้งหมดที่มีให้สำหรับแต่ละคลาส
หากคุณไม่ทราบว่าคุณกำลังจัดการกับอะไร:
puts my_unknown_variable.class.to_s
สิ่งนี้จะส่งออกชื่อคลาส
ใช้keys
วิธีการ:{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]
keys
วิธีการเช่น{"apple" => "fruit", "carrot" => "vegetable"}.keys
. ดูข้อมูลเพิ่มเติมได้ที่ruby-doc.org/core-1.9.3