(我才写了几个星期的代码,这是我的第一个问题,所以请耐心等待!)
在 ruby 中,我知道您可以在一行上初始化多个变量,如下所示:
a, b = 1, 2
但是,我想知道是否可以在循环中初始化多个变量并生成它们的名称。这是一些伪代码,解释了我的意思:
For X between 0 and 3, even_X = X * 2
这将设置even_0 == 0
, even_1 == 2
, even_2 == 4
, and even_3 == 6
.
我意识到可以通过迭代创建一个数组然后调用其成员来实现相同的功能,但我仍然很好奇是否有一种方法可以做到这一点。
Thanks!
有一个方法,使用eval
,但你宁愿不想使用它(我什至会走那么远说最好不要learn直到很久以后)。
根本不可能使用它来代替普通数组。
对于您的示例,应该使用类Range
和方法map
:
(0..3).map{|i| i * 2}
#=> [0, 2, 4, 6]
可以看到这已经完成了,没有声明any变量 - 偶数i
就在传递给的块内处于活动状态map
。之后就不存在了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)