类 IRB::FileInputMethod

使用 File 作为 IO 与 irb 交互,参见 InputMethod

公共类方法

new(file) 点击切换源代码

创建一个新的输入方法对象

# File lib/irb/input-method.rb, line 128
def initialize(file)
  @io = file.is_a?(IO) ? file : File.open(file)
  @external_encoding = @io.external_encoding
end
open(file, &block) 点击切换源代码
# File lib/irb/input-method.rb, line 117
def open(file, &block)
  begin
    io = new(file)
    block.call(io)
  ensure
    io&.close
  end
end

公共实例方法

close() 点击切换源代码
# File lib/irb/input-method.rb, line 159
def close
  @io.close
end
encoding() 点击切换源代码

标准输入的外部编码。

# File lib/irb/input-method.rb, line 150
def encoding
  @external_encoding
end
eof?() 点击切换源代码

是否已到达此输入方法的末尾,如果不再有数据可读,则返回 true

有关更多信息,请参见 IO#eof?

# File lib/irb/input-method.rb, line 137
def eof?
  @io.closed? || @io.eof?
end
gets() 点击切换源代码

从此输入方法读取下一行。

有关更多信息,请参见 IO#gets

# File lib/irb/input-method.rb, line 144
def gets
  print @prompt
  @io.gets
end
inspect() 点击切换源代码

用于调试消息

# File lib/irb/input-method.rb, line 155
def inspect
  'FileInputMethod'
end