Ruby 代码块与钩子的深入探索
代码块的延迟执行与即时对象
代码块获取文档内容
在 Ruby 中,我们可以使用 BlockBasedArchivalDocument 类以多种方式获取文档内容。以下是不同的实现示例:
# 从文件获取文档内容
file_doc = BlockBasedArchivalDocument.new( 'file', 'russ' ) do
File.read( 'some_text.txt' )
end
# 通过 HTTP 获取文档内容
google_doc = BlockBasedArchivalDocument.new('http', 'russ') do
Net::HTTP.get_response('www.google.com', '/index.html').body
end
# 自定义文档内容
boring_doc = BlockBasedArchivalDocument.new('silly', 'russ') do
'Ya' * 100
end
与之前的初始化块示例不同, BlockBasedArchivalDocument 类会延迟执行代码块,直到调用 content 方法。如果不调用 content 方法,代码块将不会执行。
即时代码块对象
有时候,我们需要即时创建一个代码块对象。Ruby 提供了 lambda 方法来实现这一
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



