我希望cycle方法能够获取我在运行中编译的值数组,但它似乎不是像我希望的那样解释它。
(在这个例子中,它是一个静态数组,但我希望它能够工作,以便我可以使用可变构造的数组)
- some_array = ['one', 'two', 'three']
- colors.each do |color|
%a{ :name => color, :class => "#{cycle(some_array)}" }
将其作为每个元素的类应用:
"three"] "two", ["one",
...看起来好像是在数组上调用to_s
或其他东西。
我该怎么做呢?
答案 0 :(得分:5)
cycle
需要多个参数并循环遍历它们。你传递了一个单个参数,一个数组。
您可以使用splat运算符将数组更改为以下多参数:
cycle(*some_array)
这就像你做的那样:
cycle("one", "two", "three")
而不是:
cycle(["one", "two", "three"])