/ / IO.readlines multidimensional सरणी - रूबी, स्ट्रिंग, फ़ाइल-io, मानचित्र

IO.readlines multidimensional सरणी - रूबी, स्ट्रिंग, फ़ाइल-io, मानचित्र

मेरे कार्यक्रम का लक्ष्य उस फ़ाइल में पढ़ना है जिसमें सफेद स्थान से सीमित संख्याओं का ग्रिड है। मेरे प्रोग्राम में इसे संसाधित करने के लिए मुझे इसे एक बहुआयामी सरणी होने की आवश्यकता है। मैंने ऐसा करने का प्रयास किया:

arr = IO.readlines("Example.txt")
arr.map { |string| string.chomp.split.map { |sub_str| sub_str.to_i } }

यह कोड, जब भाग गया, केवल मेरी मूल सरणी, तार और "एन" वापस कर देगा। मैं वांछित प्रभाव प्राप्त करने में सक्षम हूं:

arr = IO.readlines("Example.txt")
int = Array.new
arr.each { |string| int << string.chomp.split.map { |sub_str| sub_str.to_i } }

मैं मूल सरणी को बदलना पसंद करूंगाबल्कि एक नया बनाया। वांछित परिणाम प्राप्त करने के लिए मैं सरणी को कैसे मैप कर सकता हूं? मैं रूबी के लिए वास्तव में नया हूं और अपने ओओपी "नेस का आनंद ले रहा हूं। सहायता के लिए धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

बस मूल सरणी को फिर से सौंपें

arr = arr.map { |string| string.chomp.split.map { |sub_str| sub_str.to_i } }

या एक विनाशकारी का उपयोग करें map!

arr.map! { |string| string.chomp.split.map { |sub_str| sub_str.to_i } }