doc/syntax
Ruby 语法的规范文档与该目录中的语言源代码一起维护。您可以在GitHub或例如ruby-doc.org上阅读它。
在那里,您将找到操作员的描述&.
:
你可以用&.
来指定一个接收者, thenmy_method
不被调用,结果是nil
当接收者是nil
. 在这种情况下,my_method
不会评估 的参数。
以及将 Proc 对象(或更准确地说:可以转换为 Proc 的对象)转换为块的逻辑:
您可以使用运算符将 proc 或 lambda 转换为块参数&
:
argument = proc { |a| puts "#{a.inspect} was yielded" }
my_method(&argument)
在这里,需要注意的有趣的事情是 Symbols 响应to_proc
它允许 Symbols 像 procs 一样工作(因此可以转换为 proc 并随后在用于调用带有例如的方法时转换为块my_method(&:foo)
。
一般来说,要了解 Ruby 的语法和编程方法,您可以从几本书中的一本开始,例如Programming Ruby 1.9 和 2.0。一般来说,书籍从开始到出版往往需要一些时间(通常是几年),因此往往不会涵盖最新的语言添加。但是,它们可以为您提供有关该语言及其核心概念的良好概述。
在 Ruby 的较新版本中添加了一些功能,使一些事情变得更容易,例如&.
在 Ruby 2.3 中添加的运算符或默认冻结字符串之类的东西。虽然这些附加功能很有用,但当您开始使用 Ruby 进行实际编程时,您通常会偶然发现它们。在这里,关注发布新闻可能会很有用,其中简要描述了新功能和显着变化。