gpt4 book ai didi

ruby-on-rails - Ruby on Rails - ActiveSupport : Array Extensions

转载 作者:数据小太阳 更新时间:2023-10-29 08:36:30 25 4
gpt4 key购买 nike

在数组类的扩展中 (rails/activesupport/lib/active_support/core_ext/array/access.rb) 定义了以下函数:

# Returns the beginning of the array up to +position+.
def to(position)
if position >= 0
take position + 1
else
self[0..position]
end
end

为什么这样定义?为什么我们不能这样做:

def to(position)
self[0..position]
end

最佳答案

根据commit message of the change in the Rails code ,看起来他们正试图“避免创建范围对象”。

当我执行 arr[0..3] 时,0..3 部分变成一个 Range 对象,然后被使用来计算子数组。我猜他们是想通过避免这种情况来节省内存。

关于ruby-on-rails - Ruby on Rails - ActiveSupport : Array Extensions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com