Ruby 教程 之 Ruby 块 1

简介: Ruby 块

Ruby 教程 之 Ruby 块 1

Ruby 块

您已经知道 Ruby 如何定义方法以及您如何调用方法。类似地,Ruby 有一个块的概念。

块由大量的代码组成。
您需要给块取个名称。
块中的代码总是包含在大括号 {} 内。
块总是从与其具有相同名称的函数调用。这意味着如果您的块名称为 test,那么您要使用函数 test 来调用这个块。
您可以使用 yield 语句来调用块。
语法
block_name{
statement1
statement2
..........
}
在这里,您将学到如何使用一个简单的 yield 语句来调用块。您也将学到如何使用带有参数的 yield 语句来调用块。在实例中,您将看到这两种类型的 yield 语句。

yield 语句
让我们看一个 yield 语句的实例:

实例

!/usr/bin/ruby

-- coding: UTF-8 --

def test
puts "在 test 方法内"
yield
puts "你又回到了 test 方法内"
yield
end
test {puts "你在块内"}

尝试一下 »
以上实例运行结果为:

在 test 方法内
你在块内
你又回到了 test 方法内
你在块内
您也可以传递带有参数的 yield 语句。下面是一个实例:

实例

!/usr/bin/ruby

-- coding: UTF-8 --

def test
yield 5
puts "在 test 方法内"
yield 100
end
test {|i| puts "你在块 #{i} 内"}

尝试一下 »
以上实例运行结果为:

你在块 5 内
在 test 方法内
你在块 100 内
在这里,yield 语句后跟着参数。您甚至可以传递多个参数。在块中,您可以在两个竖线之间放置一个变量来接受参数。因此,在上面的代码中,yield 5 语句向 test 块传递值 5 作为参数。

现在,看下面的语句:

test {|i| puts "你在块 #{i} 内"}
在这里,值 5 会在变量 i 中收到。现在,观察下面的 puts 语句:

puts "你在块 #{i} 内"
这个 puts 语句的输出是:

你在块5 内
如果您想要传递多个参数,那么 yield 语句如下所示:

yield a, b
此时,块如下所示:

test {|a, b| statement}
参数使用逗号分隔。

目录
相关文章
|
2月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
3月前
|
JSON 数据格式 Ruby
|
3月前
|
JSON Ubuntu Linux
|
3月前
|
存储 JSON 数据格式
|
3月前
|
安全 Ruby
|
3月前
|
调度 Ruby
|
3月前
|
人工智能 BI 计算机视觉
|
3月前
|
Ruby
|
3月前
|
Ruby
|
3月前
|
调度 Ruby