2013-02-22 7 views
6

Rubyコンソールに追加できるクールなものがたくさんあります。たとえば、良いリストは "My .irbrc for console/irb"です。Macで "irbrc"ファイルを探す

私はグーグルで見つけたのは、宝石の人々が自分の.irbrcに何を追加しているのかを言うウェブログです。誰もそれを見つける場所を言っていません。

「irbrc」が見つかりません。 ホームフォルダを開き、IRBと入力するとRubyコンソールに移動しますが、このファイルは見つかりません。 誰かが私の位置を見つける手助けをすることができますか?

+0

これはちょうどそれを作成すると言うhttp://girliemangalo.wordpress.com/2009/02/20/using-irbrc-file-to-configure-your-irb/ –

答えて

11

これはirbrcのドットファイルなので、ホームディレクトリには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' 
+0

ありがとう、あなたのファイルを使用しますそれでかなり良いもの。しかし、依然として質問です。このファイルを設定すると、IRCにこれらのファイルをロードする必要はありませんか?彼らはちょうど働く?それが正常に読み込まれない理由は何ですか? –

+0

ええと、あなたは 'gem install awesome_print'をする必要があるので、すばらしいプリント宝石(require 'ap')が必要なので、私のファイルが正しく読み込まれないかもしれません。コマンドプロンプトからirbと入力するだけで、すべてがそこにあるはずです。 – Sean

+1

「ドットファイル」はどこにでも置くことができます。 "ドットファイル"という規則は、それが隠されていて通常は表示されないことを意味しますが、必ずしもホームディレクトリにあるとは限りません。 Gitの '.git'とSVNの' .svn'フォルダを確認してください。これはプロジェクトのどこにでも置くことができます。 –

1

あなたは、自分のホームディレクトリにファイル.irbrcを見つけるだけで自分のホームディレクトリに作成し、いくつかの行でそれを埋めることができない場合

require "irb/completion" 

irbを起動すると、自動的に完了モジュールが読み込まれます。

PS:UNIX/Linuxシステムでも動作します。