/ / रूबी में इस सरणी वाक्यविन्यास का क्या अर्थ है? - सरणी, रूबी, वाक्यविन्यास

रुबी में इस सरणी वाक्यविन्यास का क्या अर्थ है? - सरणी, रूबी, वाक्यविन्यास

मैं बस इस कोड में आया था:

@board=Array.new(7){Array.new(7)}

मैंने कभी भी रूबी में एक सरणी के लिए यह वाक्यविन्यास नहीं देखा हैऔर मुझे खोज के बाद बहुत कुछ नहीं मिला। मैं वास्तव में यहां घुंघराले ब्रेसिज़ के साथ क्या चल रहा हूं। मुझे उम्मीद थी कि कोई मुझे सिर्फ एक संक्षिप्त स्पष्टीकरण दे सकता है। धन्यवाद!

उत्तर:

जवाब के लिए 3 № 1

ब्लॉक-वाक्यविन्यास new आपको व्यक्तिगत सरणी तत्वों को प्रारंभ करने की अनुमति देता है, वैकल्पिक रूप से इस पर आधारित है index नंबर। आपके मामले में, इंडेक्स का उपयोग नहीं किया जाता है, लेकिन सभी 7 सरणी तत्वों को 7 तत्वों के नेस्टेड सरणी के साथ प्रारंभ किया जाता है, इसलिए आपको 7x7 "मैट्रिक्स" मिलता है।

चित्रित करना:

$ irb
irb(main):001:0> Array.new(7)
=> [nil, nil, nil, nil, nil, nil, nil]

$ irb
irb(main):001:0> require "pp"
=> true
irb(main):002:0> pp Array.new(7) {Array.new(7)}
[[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil, nil, nil]]