我有一个128个值的数组,每个值为1:
length = 128
partials = Array.new length
partials.each_index do |i|
partials[i] = 1
end
Run Code Online (Sandbox Code Playgroud)
我想在某个(随机)位置设置值0(例如,在位置1,6,50,70,100,112,120).
当然,位置的数量每次都可能不同,如果我选择7个不同的位置,我想以7个不同的位置结束更改.
在Ruby中执行此操作的更快方法是什么?
假设您希望n元素具有值0,您可以执行以下操作:
n = 5
partials[0,n] = [0]*n
partials.shuffle
Run Code Online (Sandbox Code Playgroud)
或者,也可以写成:
partials.tap{|p| p[0,n] = [0]*n}.shuffle
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |