Project1

标题: [Ruby]关于Array.new() [打印本页]

作者: 寒冷魔王    时间: 2014-10-16 08:45
标题: [Ruby]关于Array.new()
本帖最后由 寒冷魔王 于 2014-10-17 14:49 编辑

如下代码:
a = Array.new(10,0)
b = Array.new(10,a)
b[0][0] = 1
p b[1][0]
输出结果是1
有一行全部变为1
作者: taroxd    时间: 2014-10-16 12:31
Ruby的参数都是按引用传递的。考虑使用 block 形式
作者: RyanBern    时间: 2014-10-17 14:19

注意这个内存模型,就不难理解了。
ps:LZ有笔误,p出来的应该是b[1][0]而不是b[0][1]
作者: myownroc    时间: 2014-11-3 16:46
是想做二位数组?
a = Array.new(10){Array.new(10){0}}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1