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条)

报告相同问题?

悬赏问题

  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)