रूबी में दो आयामी सरणी को संशोधित करना [डुप्लिकेट] - रूबी

def initialize(ukuran)
@kata = Array.new(ukuran, "@")
@olah = @kata.join("")
@cek = Array.new(ukuran, @olah)
end

मैं अपने सरल रूबी कोड में उन कोड है कि एक कर देगा ukuran x ukuran चार आयामी सरणी का आकार। जब मैं विशिष्ट सूचकांक में एक चरित्र को बदलना चाहता हूं, उदा। @cek[2][3], यह अपने चरित्र को दूसरे सूचकांक में बदल देगा जो कि सूचकांक 3 के पीछे आता है, उदा। @cek[0][3], @cek[1][3]

क्या मुझे इस प्रकार के एरे में कुछ भी नहीं मिल रहा है ??

उत्तर:

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

आप निम्नानुसार सरल कर सकते हैं:

def doit(n)
Array.new(n) { "@"*n }
end

@cek = doit(3)
#=> ["@@@", "@@@", "@@@"]
@cek[1][1] = "x"
@cek #=> ["@@@", "@[email protected]", "@@@"]

जवाब के लिए 0 № 2

इसे इस्तेमाल करे

def initialize(ukuran)
@kata = Array.new(ukuran, "@")
## @olah = @kata.join("")
@cek = Array.new(ukuran, @kata)
end

संबंधित सवाल
सबसे लोकप्रिय