非常简短的问题:是否可以使用 Symbol#to_proc 简写(例如 lambda(&:upcase)
和 Ruby 中的 stabby lambda 语法?例如,我可以这样说:
p = lambda &:upcase
在 p
中获取 Proc
但我无法使用 ->
找到等效项。这:
p = -> &:upcase
当然不行。
最佳答案
显然,它不受支持。
我认为这与 proc
有关。和 lambda
实际上是方法,而不是关键字。它们支持我们通常与 each
和 Enumerable
中的其他方法关联的相同功能。模块。然而,->
是一种特殊的语言结构,单独解析。
我想不出像 -> &:method
这样的东西为什么不可能的原因,但到目前为止,Ruby 语言的语法根本不允许这样做。
关于ruby - 使用 stabby lambda 语法的 Symbol#to_proc 速记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11000450/