小编jac*_*ack的帖子

ruby以这种方式改变变量的方式是什么?

抱歉这个模糊的问题.我无法用言语来描述这种现象,因此谷歌没有多大帮助.请考虑以下代码:

array = [["name", "age"]]
a = []

x = ["Joe 32",
     "Tom 45",
     "Jim 36"]

x.each do |line|
  name, age = line.split(/\s/)
  a[0] = name
  a[1] = age

  array.push(a)
end  

array.each do |x|
  puts x.join(" ")
end
Run Code Online (Sandbox Code Playgroud)

这会产生:

name age
Jim 36
Jim 36
Jim 36
Run Code Online (Sandbox Code Playgroud)

这与我的期望相反:

name age
Joe 32
Tom 45
Jim 36
Run Code Online (Sandbox Code Playgroud)

array事后通过修改为什么会受到影响a

ruby

0
推荐指数
1
解决办法
84
查看次数

标签 统计

ruby ×1