रूबी को सरणी के रूप में ऑब्जेक्ट कुंजियाँ मिलती हैं


98

मैं रूबी के लिए नया हूं, अगर मेरे पास इस तरह की कोई वस्तु है

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

मैं केवल कुंजियों की एक सरणी कैसे वापस कर सकता हूं?

["apple", "carrot"]

आपका ऑब्जेक्ट एक हैश है, इसलिए आप keysजैसे विधि का उपयोग कर सकते हैं {"apple" => "fruit", "carrot" => "vegetable"}.keys। अधिक जानकारी के लिए देखें ruby-doc.org/core-1.9.3
तारो

जवाबों:


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

यह इत्ना आसान है


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

यह वर्ग नाम आउटपुट करेगा।


2

keysविधि का प्रयोग करें :{"apple" => "fruit", "carrot" => "vegetable"}.keys == ["apple", "carrot"]

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.