ruby रूबी में हैश को फिर से चलाने वाला एक विशिष्ट आउटपुट कैसे प्राप्त करें?



3 Answers

हैश पर फिर से शुरू करने का सबसे बुनियादी तरीका निम्नानुसार है:

hash.each do |key, value|
  puts key
  puts value
end
ruby hash output

मैं रूबी हैश को फिर से शुरू करने वाला एक विशिष्ट आउटपुट प्राप्त करना चाहता हूं।

यह हैश मैं इसे फिर से शुरू करना चाहता हूं:

hash = {
  1 => ['a', 'b'], 
  2 => ['c'], 
  3 => ['d', 'e', 'f', 'g'], 
  4 => ['h']
}

यह वह आउटपुट है जिसे मैं प्राप्त करना चाहता हूं:

1-----

a

b

2-----

c

3-----

d 

e

f

g

4-----

h

रुबी में, मैं अपने हैश के साथ ऐसा आउटपुट कैसे प्राप्त कर सकता हूं?




हैश पर कॉलिंग सॉर्ट इसे नेस्टेड सरणी में परिवर्तित करता है और फिर उन्हें कुंजी द्वारा टाइप करता है, इसलिए आपको इसकी आवश्यकता होती है:

puts h.sort.map {|k,v| ["#{k}----"] + v}

और यदि आपको वास्तव में "----" भाग की आवश्यकता नहीं है, तो यह केवल हो सकता है:

puts h.sort



मेरा एक लाइन समाधान:

hash.each { |key, array| puts "#{key}-----", array }

मुझे लगता है कि इसे पढ़ने में काफी आसान है।






Related