我是红宝石的新手,这个问题对你来说似乎很愚蠢,但我没有找到任何合理的解释。
例如我有
array = [1,2,3,4,5,6]
我想从这个字符串数组中出于某些原因
其中一种方法是这样做:
str_arr = array.map {|i| i.to_s}
在某些网络资源上我发现了以下内容:
array.map(&:to_s)
这也是一样的。有人可以解释&:to_s
的含义吗?
答案 0 :(得分:2)
它是语法糖,将to_s
转换为可以传递给map
的块,有点像将to_s
作为函数对象传递。基本上,它是
array.map(&:to_s.to_proc)
# Or to see the individual steps:
proc = :to_s.to_proc
array.map(&proc)