“File.read”和“IO.read”有什么区别?

问题描述 投票:0回答:2

我正在使用 Ruby 和 Ruby on Rails 3,我想知道...

... 有什么区别

File.read("filename.txt")

IO.read("filename.txt")

?

ruby-on-rails ruby ruby-on-rails-3 file io
2个回答
35
投票

编者注:这个答案已经过时了。从 Ruby 2.6 开始,File.read 的不同之处在于它不会为以“|”开头的文件名调用外部命令角色(问题提交)。

由于File是IO的子类,没有read方法,调用File.read时实际上调用的是IO.read 这里没有区别。


19
投票

File是IO的子类,File.read就是IO.read(File类没有这个方法,所以当read被调用时IO.read被调用)。

© www.soinside.com 2019 - 2024. All rights reserved.