私は実装しようとしているArray.repeat
ので、
[3].repeat(4) // yields
=> [3, 3, 3, 3]
...そして私を夢中にさせています。
これで試してみました:
Array::repeat = (num)->
array = new Array
for n in [0..num]
array.concat(this)
array
ただし、[3].repeat(x)
常にを返します[]
。どこでそれを台無しにしているのですか?または、これを行うためのより良いアプローチはありますか?
最終結果:
Array::repeat = (num)->
array = new Array
return array if num < 1
for n in [1..num]
array = array.concat(this)
array
['a'].repeat(5)
=> ['a', 'a', 'a', 'a', 'a']