gpt4 book ai didi

ruby - 迭代 n 到 Ruby 可枚举中的最后一项

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

我正在尝试找到最简洁的方法来为数组中的第一项做一些特殊的事情,然后为所有其余的做一些不同的事情。到目前为止,我有这样的事情:

puts @model.children.first.full_name
@model.children[1..@model.children.count].each do |child|
puts child.short_name
end

我不喜欢必须在范围内指定计数的方式。我想找到一种更短的方式来指定“从第二项到最后一项”。如何做到这一点?

最佳答案

Ruby 使用 splat 运算符 * 可以很酷地执行此操作。这是一个例子:

a = [1,2,3,4]
first, *rest = *a
puts first # 1
puts rest # [2,3,4]
puts a # [1,2,3,4]

这是您重写的代码:

first, *rest = @model.children
puts first.full_name
rest.each do |child|
puts child.short_name
end

希望对您有所帮助!

关于ruby - 迭代 n 到 Ruby 可枚举中的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436142/

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