8

我看到很多很酷的东西可以添加到我的 Ruby 控制台中。例如,一个好的列表是“我的 .irbrc for console/irb ”。

我用谷歌搜索,但我发现的只是网络博客,上面写着人们将什么宝石添加到他们的 .irbrc 中。没有人说在哪里可以找到它。

我找不到“irbrc”。我打开我的主文件夹,如果我输入 IRB,它会转到 Ruby 控制台,但我找不到这个文件。有人可以帮我找到它吗?

4

2 回答 2

12

这是一个 irbrc dotfile,所以你需要ls -a在你的主目录中找到它。如果它不在那里,只需创建一个 .irbrc 文件。

我的很简单,但这就是我所拥有的:

require 'rubygems'
require 'ap'

require 'irb/completion'
ARGV.concat [ "--readline", "--prompt-mode", "simple" ]

module Readline
  module History
    LOG = "#{ENV['HOME']}/.irb-history"

    def self.write_log(line)
      File.open(LOG, 'ab') {|f| f << "#{line}\n"}
    end

    def self.start_session_log
      write_log("\n# session start: #{Time.now}\n\n")
      at_exit { write_log("\n# session stop: #{Time.now}\n") }
    end
  end

  alias :old_readline :readline
  def readline(*args)
    ln = old_readline(*args)
    begin
      History.write_log(ln)
    rescue
    end
    ln
  end
end

IRB::Irb.class_eval do
  def output_value
    ap @context.last_value
  end
end

Readline::History.start_session_log

require 'irb/ext/save-history'
IRB.conf[:SAVE_HISTORY] = 100
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"

IRB.conf[:PROMPT_MODE] = :SIMPLE
require 'irb/completion'
于 2013-02-22T04:24:40.480 回答
1

如果您无法在您的主目录中找到该文件.irbrc,只需在您的主目录中创建它并用一些行填充它,例如:

require "irb/completion"

然后,当您启动 irb 时,您的 irb 将自动加载完成模块。

PS:它也适用于 UNIX/Linux 系统。

于 2014-02-17T05:00:22.187 回答