Ruby代码块2025年3月17日 | 阅读 3 分钟 Ruby 代码块在其他编程语言中被称为闭包。它由一组代码组成,这些代码总是用大括号括起来,或者写在 do..end 之间。大括号语法总是比 do..end 语法具有更高的优先级。大括号的优先级高,do 的优先级低。 块可以有两种编写方式:
两者是相同的,并且具有相同的功能。 要调用一个块,你需要有一个与该块同名的函数。 一个块总是和一个函数一起被调用。块可以有自己的参数。 语法 示例 下面的示例显示了 多行 块。 输出 ![]() 下面的示例显示了 内联 块。 输出 ![]() yield 语句yield 语句用于在方法中调用一个带值的块。 示例 输出 ![]() 当执行 met 方法时,当我们到达 yield 行时,块中的代码被执行。当块执行完成时,met 方法的代码继续执行。 使用 yield 语句传递参数 可以使用 yield 语句传递一个或多个参数。 示例 输出 ![]() 块变量我们可以在块参数的外部和内部使用相同的变量。让我们看下面的例子。 示例 输出 ![]() 在这个例子中,我们在块内将同一个变量作为块参数 x 使用,在块外作为一个变量 x 使用。 BEGIN 和 END 块Ruby BEGIN 和 END 块用于声明文件正在加载和文件已经加载完毕。 示例 输出 ![]() Ampersand 参数 (&block)&block 是一种将块的引用(而不是局部变量)传递给方法的方式。 这里,& 之后的 block 只是引用的一个名称,可以使用任何其他名称来代替它。 示例 输出 ![]() 这里,方法 met 中的块变量是对块的引用。它通过 call 方法执行。call 方法与 yield 方法相同。 使用默认值初始化对象Ruby 有一个名为 yield(self) 的初始化器。这里,self 是正在初始化的对象。 示例 输出 ![]() 下一个主题Ruby 模块 |
我们请求您订阅我们的新闻通讯以获取最新更新。