【发布时间】:2011-01-16 14:47:40
【问题描述】:
可能的重复:
Ruby/Ruby on Rails ampersand colon shortcut
What does map(&:name) mean in Ruby?
我正在阅读 Stackoverflow 并偶然发现以下代码
array.map(&:to_i)
好的,很容易看到这段代码的作用,但我想了解更多关于我以前从未见过的 &: 构造的信息。
不幸的是,我能想到的只是“lambda”,但事实并非如此。 Google 告诉我 Ruby 中的 lambda 语法是 ->->(x,y){ x * y }
那么任何人都知道那个神秘的&: 是什么以及除了调用单个方法之外它还能做什么?
【问题讨论】:
-
这是六个不同问题的完全重复。相信我,Ruby 在过去 8 天内没有发生太大的变化,所以答案可能会是一样的:StackOverflow.Com/questions/99318、StackOverflow.Com/questions/1217088、 StackOverflow.Com/questions/1792683, StackOverflow.Com/questions/1961030, StackOverflow.Com/questions/2096975, StackOverflow.Com/questions/2211751.
-
当然,我现在知道了。但是每一种新的措辞方式都会对社区和这个网站有所帮助。毕竟,在我问之前我确实搜索过。
-
@vava 这就是不删除问题的原因。您的问题仍应关闭。
-
@Sinan,通过关闭它,你使它对谷歌不可见,它会导致另一个类似的问题弹出:)
标签: ruby