gpt4 book ai didi

ruby - Ruby 中的 Splat 运算符(快速排序示例)

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

您好,我正在研究一些 Ruby 代码。在 Ruby 中实现快速排序:

1 def qsort(lst)
2 return [] if lst.empty?
3 x, *xs = *lst
4 less, more = xs.partition{|y| y < x}
5 qsort(less) + [x] + qsort(more)
6 end

给定:

lst = [1, 2, 3, 4, 5]

x, *xs = *lst

我不知道我是否理解第 3 行的正确做法:

根据我的观察和实验,这会将 1lst 分配给 x,而 lst 的其余部分> 到 xs

我还发现这两个在做同样的事情:

x, *xs = *lst

相当于

x, *xs = lst

我的问题是,这个不错的功能的名称是什么(之后我会编辑标题以适应)?然后我可以自己研究更多关于这个 Ruby 特性的信息。抱歉,如果这是一个重复的问题,因为我不知道要搜索此问题的关键字。

最佳答案

此功能的名称在 Ruby 中称为 splat 运算符。

关于ruby - Ruby 中的 Splat 运算符(快速排序示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17341053/

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