查看: 1620|回复: 7

为什么两个变量会同时变化

  [复制链接]
头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-4-26
回帖
309
发表于 2008-1-13 03:06:31 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-4-26
回帖
309
发表于 2008-1-13 03:06:31 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
回帖
2437

贵宾

发表于 2008-1-13 04:55:52 | 显示全部楼层
LZ  最好写出那里不一样,那样多维的数组看的都晕了...
是不是[17][0]的位置变了啊   如果是的话:

这个就还要看看LZ的变量是怎么初始化的了  不过我对Ruby值传递不是很清楚.
如果好Java一样数组传递是个指针的引用的话
那么则可能有  $game_variables[16]的[0]号元素恰好引用了$game_variables[17]的[0]号元素,
那么当$game_variables[16][0]=@jilu2时, 也同时改变了$game_variables[17][0]
arr0 = {}
arr1 = {}
arr1[0] = arr0
arr1[1] = {3, 4}
arr2 = {}
arr2[0] = arr0
arr2[1] = {5, 6}
p arr1[0][0]
p arr2[0][0]
arr1[0][0] = 5  #  相当于arr0[0] = 5
p arr1[0][0]
p arr2[0][0]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-4-26
回帖
309
 楼主| 发表于 2008-1-13 05:10:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
回帖
2437

贵宾

发表于 2008-1-13 05:16:51 | 显示全部楼层
那啥.... 我把初始化数组arr0 = [] 写成初始化hash了arr0 = {}      - -||
还是ruby比较现实  直接[]
不过应该是一样的
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-1-3
回帖
120
发表于 2008-1-13 05:48:20 | 显示全部楼层
  迷糊 这东西 咋学啊 迷糊
回复

使用道具 举报

御灵的宠物

梦石
12
星屑
8481
在线时间
94 小时
注册时间
2006-12-11
回帖
3101

第2届TG大赛亚军

发表于 2008-1-13 05:51:44 | 显示全部楼层
同完全看不懂……
$game.variables可以带[16][0]这样的么。。。
我的Lofter:http://nightoye.lofter.com/

回复

使用道具 举报

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
回帖
2437

贵宾

发表于 2008-1-13 05:55:33 | 显示全部楼层
$game_variables 是数组

你就当ruby的数组可以是多维且动态的就好了  ruby数组的c文件就是个list(貌似)...
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部