109

我知道有其他语言的库可以采用包含本地文件路径或 url 的字符串并将其作为可读 IO 流打开。

在红宝石中有一种简单的方法可以做到这一点吗?

4

1 回答 1

234

open-uri是标准 Ruby 库的一部分,它将重新定义 的行为,open以便您可以打开 url 以及本地文件。它返回一个File对象,因此您应该能够调用 和 之类的read方法readlines

require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
web_contents  = open('http://www.stackoverflow.com') {|f| f.read }
于 2008-11-05T03:00:30.593 回答