如何使用splat运算符进行并行赋值在Ruby中工作?

如何使用splat运算符进行并行赋值在Ruby中工作?,第1张

概述letters = ["a", "b", "c", "d", "e"]first, *second = lettersfirst # => "a"second # => "["b", "c", "d", "e"] 我明白这会产生什么,但无法理解这一点.这基本上是Ruby魔术吗?想不出任何其他编程语言会支持splat运算符的这种类型的赋值. 这在函数式语言中是很常见的,因此Ruby并不孤单.
letters = ["a","b","c","d","e"]first,*second = lettersfirst  # => "a"second # => "["b","e"]

我明白这会产生什么,但无法理解这一点.这基本上是Ruby魔术吗?想不出任何其他编程语言会支持splat运算符的这种类型的赋值.

解决方法 这在函数式语言中是很常见的,因此Ruby并不孤单.您有一个项目列表,并希望它以头部和尾部分隔,因此您可以对列表的第一个元素执行 *** 作.

这也有效:

letters = ["a",*mIDdle,last = letters

在像Clojure这样的函数式语言中,您会看到如下内容:

(first '(1 2 3)) => 1(rest '(1 2 3)) => (2 3)
总结

以上是内存溢出为你收集整理的如何使用splat运算符进行并行赋值在Ruby中工作?全部内容,希望文章能够帮你解决如何使用splat运算符进行并行赋值在Ruby中工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1283837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存