我知道有其他语言的库可以采用包含本地文件路径或 url 的字符串并将其作为可读 IO 流打开。
在红宝石中有一种简单的方法可以做到这一点吗?
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 }