用Ruby REPL编程加载库



我一直在尝试在脚本中加载项目库,然后启动IRB或ripl以允许用户与项目库进行快速交互。我已经成功地做到了。

我的问题是以编程方式关闭命令行echo。

手动调用irb_context.echo = false很容易,但这在编程上不起作用,因为控制权在IRB.start移交给IRB,并且在调用IRB.start 之前irb_context不可用

如果您希望IRB在用户输入时不写任何内容,您可以手动设置信息:

IRB.conf[:PROMPT][:NO_REPLY] = {
  :PROMPT_I => "%N(%m):%03n:%i> ",
  :PROMPT_S => "%N(%m):%03n:%i%l ",
  :PROMPT_C => "%N(%m):%03n:%i* ",
  :RETURN => "n" # used to printf
}
IRB.conf[:PROMPT_MODE] = :NO_REPLY

这样,REPL将忽略返回值,只打印一行换行符。有关更多信息,请参阅官方文档。

最新更新