设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1423|回复: 3
打印 上一主题 下一主题

[已经解决] 关于变量的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
574
在线时间
169 小时
注册时间
2008-10-29
帖子
431
跳转到指定楼层
1
发表于 2011-1-9 20:14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
这个问题在帖子名字上不太好表达
比如说 我有一系列变量分别叫 a1 , a2, a3, a4
还有一个变量 i
当i 为1时 return a1
为2时 return a2
为3时return a3
为4时return a4
(注:不用数组,不用
case i
when 1
return a1
when 2
return a2
when 3
return a3
end
这样的语句)
也就是说 能不能在变量名里 嵌套一个变量来控制
类似字符串里嵌套一个变量一样 如 #{XXX}

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42409
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2011-1-9 20:22:03 | 只看该作者
回复 clap_pl 的帖子

a = []
def get_num(i)
   return a
end
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7981
在线时间
1183 小时
注册时间
2007-7-29
帖子
2055
3
发表于 2011-1-9 21:47:18 | 只看该作者
return eval("a#{i}")

评分

参与人数 1星屑 +270 收起 理由
fux2 + 270 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
574
在线时间
169 小时
注册时间
2008-10-29
帖子
431
4
 楼主| 发表于 2011-1-10 11:03:20 | 只看该作者
本帖最后由 clap_pl 于 2011-1-10 12:05 编辑

用了楼上的方法 结果出错了
a0=0
a1=1
a2=2
a3=3
def pip(i=0)
  return eval("a#{i}")
end
p pip(1)
我是这么写了一个 在RUBY IDE下试了一下
结果报错
报错信息如下
test.rb:7:in `pip': undefined local variable or method `a1' for main:Object (NameError)

#对不起,搞错了
我定义的变量a0到a1是局部变量 作用域不对
试着改成

def pip(i=0)
a0=0
a1=1
a2=2
a3=3
return eval("a#{i}")
end
就对了 谢谢楼上两位

顺便查了下 eval的用法,这是个很有用的东西啊!
#======================
有时候要一组字符串能能够动态地执行,ruby中的eval方法就提供了这样的功能

语法:
--------------------------------------------------------------------------------
eval( 可执行字符串)

使用举例:
--------------------------------------------------------------------------------
Code
a = 1
b="true"
c="false"
str ="
if a==1 then
     puts '输出:#{b}'
else
     puts '输出:#{c}'
end
"
eval(str)
输出结果为:"true"
#=========================================

点评

谢谢,数组真是个好东西,可有些特殊情况用起来和自己想的稍微差了那么一点点,也许是我自己对其理解不够深的原因,或是自己想的算法还不够好  发表于 2011-1-10 12:09
还是建议用数组这个好东西  发表于 2011-1-10 12:05
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 17:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表