Project1

标题: 如何进行批量的变量名称的规则性的修改 [打印本页]

作者: 笹舟丶萚    时间: 2018-7-18 12:48
标题: 如何进行批量的变量名称的规则性的修改
举个例子
我有变量ach1、ach2、ach3…………(都是字符串)
然后我想输入文本draw_text分别为ach1、ach2、ach3…………
但是这样一行一行输入实在麻烦,怎么用一句话输入
就是进行循环,输入ach{#i},每进行一次i+1
但是内嵌表达式在变量中不行,怎么做?
作者: soulsaga    时间: 2018-7-18 13:27
变量用数组?其他方法我就不会了..
作者: 笹舟丶萚    时间: 2018-7-18 14:12
soulsaga 发表于 2018-7-18 13:27
变量用数组?其他方法我就不会了..

能说下具体操作吗

作者: soulsaga    时间: 2018-7-18 14:16
笹舟丶萚 发表于 2018-7-18 14:12
能说下具体操作吗


RUBY 代码复制
  1. ach = ["字符串1","字符串2","字符串3",]
  2. for i in 0...ach.size
  3. p ach[i]
  4. end

作者: 笹舟丶萚    时间: 2018-7-18 15:24
soulsaga 发表于 2018-7-18 14:16
ach = ["字符串1","字符串2","字符串3",]
for i in 0...ach.size
p ach

嗯,谢谢
作者: SailCat    时间: 2018-7-18 19:45
如果ach1这些是属性或方法

for i in 1...3
p send("ach#{i}")
end
如果ach1是类级变量(@ach1)则
for i in 1...3
p instance_variable_get("@ach#{i}")
end

作者: guoxiaomi    时间: 2018-7-20 23:29
同样也可以定义一个函数:
  1. def iterate_ach
  2.   [ach1, ach2, ach3].each do |ach|
  3.     yield ach
  4.   end
  5. end
复制代码

然后调用
  1. iterate_ach do |ach|
  2.   draw_text(ach, ...)
  3. end
复制代码






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