在python中可以通过环境变量PYTHONSTARTUP指定python启动时自动引入的文件, ruby中如何实现类似功能呢?
在 $HOME 目录里创建一个 .irbrc 文件,然后在里面写任意 Ruby 代码即可。例如这是我的 .irbrc
[code="ruby"]
require 'rubygems'
require 'pp'
require 'irb/completion'
require 'irb/ext/save-history'
$KCODE = 'u'
IRB.conf[:SAVE_HISTORY] = 100
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"
IRB.conf[:PROMPT_MODE] = :SIMPLE
if rails_env = ENV['RAILS_ENV']
rails_root = File.basename(Dir.pwd)
IRB.conf[:PROMPT] ||= {}
IRB.conf[:PROMPT][:RAILS] = {
:PROMPT_I => "#{rails_root}> ",
:PROMPT_S => "#{rails_root}* ",
:PROMPT_C => "#{rails_root}? ",
:RETURN => "=> %s\n"
}
IRB.conf[:PROMPT_MODE] = :RAILS
# Called after the irb session is initialized and Rails has
# been loaded (props: Mike Clark).
IRB.conf[:IRB_RC] = Proc.new do
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.instance_eval { alias :[] :find }
end
end
def mp(message, color = nil)
case color
when 'red' : color = '31;1'
when 'green' : color = '32;1'
when 'yellow' : color = '33;1'
when 'blue' : color = '34;1'
when 'purple' : color = '35;1'
when 'sky' : color = '36;1'
else color = '36;1'
end
print "\e[#{color}m#{message}\e[0m\n"
end
[/code]
ruby的irb是不行的,没有这个参数
我想问是的,你一定非得是在irb环境下吗???
如果是rails的话,默认情况下已经已经加载/lib还有/vendor/plugin等文件目录.