我想循环方法来获取我在运行中编译的值数组,但它似乎正在解释它而不是我所希望的.
(在这个例子中它是一个静态数组,但我希望它工作,以便我可以使用不同构造的数组)
- some_array = ['one', 'two', 'three']
- colors.each do |color|
%a{ :name => color, :class => "#{cycle(some_array)}" }
Run Code Online (Sandbox Code Playgroud)
这适用于每个元素的类:
"three"] "two", ["one",
Run Code Online (Sandbox Code Playgroud)
......看起来好像在调用to_s数组或其他东西.
我该怎么做呢?
cycle采用多个参数并循环遍历它们.你传递的是一个参数,一个数组.
您可以使用splat运算符将数组更改为这些多参数:
cycle(*some_array)
Run Code Online (Sandbox Code Playgroud)
这将表现得好像你做了:
cycle("one", "two", "three")
Run Code Online (Sandbox Code Playgroud)
而不是:
cycle(["one", "two", "three"])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |