lambda_z 2008-08-06 13:47
浏览 190
已采纳

irb启动时能自动引入指定文件吗?

在python中可以通过环境变量PYTHONSTARTUP指定python启动时自动引入的文件, ruby中如何实现类似功能呢?

  • 写回答

2条回答 默认 最新

  • iteye_304 2008-08-06 14:09
    关注

    在 $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

    Just for Rails...

    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

    vim: set ft=ruby:

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图