为什么:
code3_x = []
level = 7
(level + 2).times do |i|
# This is more what I want:
# code3_x[i] << i
# This works to demonstrate:
code3_x << i
end
Run Code Online (Sandbox Code Playgroud)
返回:
=> 9
Run Code Online (Sandbox Code Playgroud)
为什么不?
=> [0,1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
我创建一个数组作为code3_x&我有一个值x (用i条件选择的数字替换第二个,只是i在示例中重用作为占位符)我想x在code3_x中的特定索引处插入.
注意:
我正在尝试将以下javascript翻译为ruby, 这只是一个更大功能的剪辑
if ... conditions ...{
code3_x[i] =2;
mod_x -= h_pow;
}else...
Run Code Online (Sandbox Code Playgroud)
更新: 这是一个链接到我试图在ruby中重新实现的整个javascript函数的要点. https://gist.github.com/therocketforever/d1dca656f4579bc5baf3
小智 5
我想你的代码中有一个拼写错误.<<没有定义code3_x[i](这是nil).code3_x[i] = i返回的版本,9因为返回值#times是您要将消息发送到的对象(在本例中(level + 2)).code3_x仍将设置:
(level + 2).times do |i|
code3_x[i] = i
end # => 9
code3_x # => [0,1,2,3,4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)
如果需要返回值,则可以使用#map范围
(0..9).map{ |i| i * i } # => [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |