gpt4 book ai didi

ruby - Ruby 中允许 "p *1..10"打印出数字 1-10 的功能是什么?

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

require 'pp'

p *1..10

这会打印出 1-10。为什么这么简洁?您还可以用它做什么?

最佳答案

它是“splat”运算符。它可用于分解数组和范围并在赋值期间收集值。

这里收集赋值中的值:

a, *b = 1,2,3,4

=> a = 1
b = [2,3,4]

在此示例中,内部数组([3,4])中的值被分解并收集到包含数组中:

a = [1,2, *[3,4]]

=> a = [1,2,3,4]

您可以定义将参数收集到数组中的函数:

def foo(*args)
p args
end

foo(1,2,"three",4)

=> [1,2,"three",4]

关于ruby - Ruby 中允许 "p *1..10"打印出数字 1-10 的功能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/708403/

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