arrays - 拿怎么办!在 ruby ?

标签 arrays ruby

获取(保留)数组中的前 n 个元素并删除其余元素的好方法是什么?

如果没有内置方法,则

def take! ary, n
  ...
end

z = (1..10).to_a
take! z, 5
# z is [1,2,3,4,5]

最佳答案

有几种可能性。

总是有效的瑞士军刀是Array#replace它只是用参数的内容替换接收器的内容,因此可用于将任何数组转换为任何其他数组,因此您可以这样说:

class Array
  def take!(n)
    replace(take(n))
  end
end

使用 Array#slice!是另一种可能性:

class Array
  def take!(n)
    slice!(0, n)
  end
end

关于arrays - 拿怎么办!在 ruby ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295813/

相关文章:

c - 翻转C中的位

java - 是否可以通过在 for 循环中调用字符串名称来检查数百个字符串数组?

Python:沿选定轴的 3D 数组中连续数字的最大长度

Ruby:Linux ubuntu 上的图形用户界面 tk 不起作用

ruby-on-rails - 如何使用rails输出当前协议(protocol)和url?

ruby-on-rails - (Rails 3) 是否可以在命名路由中对 id 进行硬编码?

ios - NSPredicate with block - 它是如何工作的

arrays - 在 Swift 中对多维数组(数组中的数组)使用排序?

ruby - Rails——是否需要 IRB?

ruby-on-rails - 在子模型中访问父对象