我需要在数组中重复一组特定的项目。
我在Python中需要这样的东西:
["a","b"] * 3
# result: ["a","b","a","b","a","b"]
我尝试过同样的方法,但是我得到了:
(erb):329:in `*': Array can't be coerced into Integer (TypeError)
有一种简单的解决方法吗?
编辑:已解决。像这样完成时似乎可以正常工作
["a", "b"] * 2
但不能倒退:
2 * ["a", "b"]
答案 0 :(得分:4)
好吧,它可以在我的Ruby 2.5中使用:
["a","b"] * 3
# => ["a", "b", "a", "b", "a", "b"]
ary * int → new_ary
重复—(...)返回通过串联self的int副本构建的新数组。 Docs
答案 1 :(得分:2)
3 * 4
的意思是:
3
重复了4
次。
4 * 3
的意思是:
4
重复了3
次。
["a", "b"] * 3
的意思是:
["a", "b"]
重复了3
次。
但是会
3
重复了["a", "b"]
次。
是什么意思?您怎么["a", "b"]
次做任何事情?
在Python中,两者都允许:
["a","b"] * 3
3 * ["a","b"]
并返回:
['a', 'b', 'a', 'b', 'a', 'b']
但是第二个看起来马虎恕我直言。