如何使用splat运算符进行并行赋值在Ruby中工作?
发布时间:2020-12-17 02:46:20 所属栏目:百科 来源:网络整理
导读:letters = ["a","b","c","d","e"]first,*second = lettersfirst # = "a"second # = "["b","e"] 我明白这会产生什么,但无法理解这一点.这基本上是Ruby魔术吗?想不出任何其他编程语言会支持splat运算符的这种类型的赋值. 解决方法 这在函数式语言中是很常见的
letters = ["a","b","c","d","e"] first,*second = letters first # => "a" second # => "["b","e"] 我明白这会产生什么,但无法理解这一点.这基本上是Ruby魔术吗?想不出任何其他编程语言会支持splat运算符的这种类型的赋值. 解决方法
这在函数式语言中是很常见的,因此Ruby并不孤单.您有一个项目列表,并希望它以头部和尾部分隔,因此您可以对列表的第一个元素执行操作.
这也有效: letters = ["a",*middle,last = letters 在像Clojure这样的函数式语言中,您会看到如下内容: (first '(1 2 3)) => 1 (rest '(1 2 3)) => (2 3) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |