我试过了:
@CONF[:PROMPT_MODE] = :SIMPLE
但它不会改变我的提示。我正在使用rvm和ruby 1.9.2 Linux。
#!/usr/bin/env ruby
# encoding: utf-8
require 'irb'
module IRB # :nodoc:
def self.start_session(binding)
unless @__initialized
args = ARGV
ARGV.replace(ARGV.dup)
IRB.setup(nil)
ARGV.replace(args)
@__initialized = true
end
workspace = WorkSpace.new(binding)
irb = Irb.new(workspace)
@CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
@CONF[:MAIN_CONTEXT] = irb.context
@CONF[:AUTO_INDENT] = true
@CONF[:PROMPT_MODE] = :SIMPLE
catch(:IRB_EXIT) do
irb.eval_input
end
end
end
IRB.start_session(binding)
答案 0 :(得分:0)
配置分配:
@CONF[:PROMPT_MODE] = :SIMPLE
需要在创建 Irb 对象之前出现:
irb = Irb.new(workspace)
我不确定其他设置必须尽早完成,但一般情况下,尽快完成此操作会更好。下面的代码有这些修改。
#!/usr/bin/env rub
# encoding: utf-8
require 'irb'
module IRB # :nodoc:
def self.start_session(binding)
unless @__initialized
args = ARGV
ARGV.replace(ARGV.dup)
IRB.setup(nil)
ARGV.replace(args)
@__initialized = true
end
@CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
@CONF[:AUTO_INDENT] = true
@CONF[:PROMPT_MODE] = :SIMPLE
IRB.run_config
workspace = WorkSpace.new(binding)
irb = Irb.new(workspace)
@CONF[:MAIN_CONTEXT] = irb.context
catch(:IRB_EXIT) do
irb.eval_input
end
end
end
IRB.start_session(binding)
抱歉,我没有早点看到这一点。