def initialize(ukuran)
@kata = Array.new(ukuran, '@')
@olah = @kata.join('')
@cek = Array.new(ukuran, @olah)
end
我在我的简单ruby代码中有这些代码,这些代码将生成ukuran x ukuran
大小的二维char数组。当我想要更改特定索引中的字符时,例如@cek[2][3]
,它会改变其后面带有索引3的另一个索引中的字符,例如@cek[0][3]
,@cek[1][3]
这种类型的数组有什么我没有得到的吗?我是红宝石的新手,因为我知道它可以用另一种语言工作。
答案 0 :(得分:4)
您可以简化如下:
def doit(n)
Array.new(n) { '@'*n }
end
@cek = doit(3)
#=> ["@@@", "@@@", "@@@"]
@cek[1][1] = 'x'
@cek #=> ["@@@", "@x@", "@@@"]
答案 1 :(得分:0)
试试这个
def initialize(ukuran)
@kata = Array.new(ukuran, '@')
## @olah = @kata.join('')
@cek = Array.new(ukuran, @kata)
end