是否可以将 &:(与号)符号与参数或 Ruby 中的链接一起使用?

编程入门 行业动态 更新时间:2024-10-24 18:23:23
本文介绍了是否可以将 &:(与号)符号与参数或 Ruby 中的链接一起使用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我想做类似的事情:

[1, 2, 3].map(&:to_s(2))

另外,如何做类似的事情:

Also, how can one do something similar to:

[1, 2, 3].map(&:to_s(2).rjust(8, '0'))

?

推荐答案

:to_s 是一个符号,而不是一个方法.所以你不能像 :to_s(2) 那样传递任何参数给它.如果你这样做,你会得到错误.这就是你的代码无法工作的方式.所以 [1, 2, 3].map(&:to_s(2)) 是不可能的,其中因为 [1, 2, 3].map(&:to_s) 可能.&:to_s 表示您正在调用 #to_proc 方法在符号上.现在在您的情况下 &:to_s(2) 表示 :to_s(2).to_proc.调用方法#to_proc之前会发生错误.

:to_s is a symbol,not a method. So you can't pass any argument to it like :to_s(2). If you do so,you will get error.That's how your code wouldn't work.So [1, 2, 3].map(&:to_s(2)) is not possible,where as [1, 2, 3].map(&:to_s) possible.&:to_s means you are calling #to_proc method on the symbol. Now in your case &:to_s(2) means :to_s(2).to_proc. Error will be happened before the call to the method #to_proc.

:to_s.to_proc # => #<Proc:0x20e4178>
:to_s(2).to_proc # if you try and the error as below

syntax error, unexpected '(', expecting $end
p :to_s(2).to_proc
       ^

现在尝试你的一个并将错误与上面的解释进行比较:

Now try your one and compare the error with above explanation :

[1, 2, 3].map(&:to_s(2))

syntax error, unexpected '(', expecting ')'
[1, 2, 3].map(&:to_s(2))
                     ^

这篇关于是否可以将 &amp;:(与号)符号与参数或 Ruby 中的链接一起使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-05-01 13:37:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1410183.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:符号   参数   链接   amp   Ruby

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!