gpt4 book ai didi

ruby - Ruby中的3点方法参数是什么?

转载 作者:行者123 更新时间:2023-12-03 13:45:19 25 4
gpt4 key购买 nike

谁能解释这个语法:

def hello(...)
p(...).to_a
end

hello 1,2,3,4 # => [1,2,3,4]
...是什么类型?

最佳答案

我认为this文章将帮助您更好地理解它。
简而言之,这是一种新的“速记语法”,用于使参数变得更“容易”的前导参数,现在可以代替call(*args, **kws, &block),而只需编写call(...)这是一个简单的示例:

def perform(*args, **kws, &block)
block.call(args, kws)
end

def call(...)
perform(...)
end

> call(1, 2, 3, k1: 4, k2: 5) {|*x| puts x}
1
2
3
{:k1=>4, :k2=>5}

关于ruby - Ruby中的3点方法参数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64322636/

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