【发布时间】:2018-08-15 18:28:15
【问题描述】:
【问题讨论】:
-
你的猜测是对的,而且是有道理的。
【问题讨论】:
你的猜测完全正确。这是一段同时使用了ios和I/O streams这两个术语的段落:https://ruby-doc.org/core-2.5.0/IO.html#method-i-close
希望对您有所帮助。
【讨论】:
不管你叫什么puts:
$stderr.puts("Hello from Standard Error") # $stderr is IO
puts("Hello from Kernel") # main is IO
File.new("/tmp/foo").puts("bar") # File is IO
任何从IO(或Kernel)继承的东西都会响应puts。
$stderr.class.ancestors # => [IO, File::Constants, Enumerable, Object, Kernel, BasicObject]
self.class.ancestors # => [Object, Kernel, BasicObject]
File.ancestors # => [File, IO, File::Constants, Enumerable, Object, Kernel, BasicObject]
【讨论】: