ruby 自动加载项目的环境到irb

apeeds0o  于 11个月前  发布在  Ruby
关注(0)|答案(4)|浏览(118)

Rails有一个很有用的命令rails console,它可以下载所有必要的数据,然后我们可以在irb中与Rails项目进行交互。Ruby项目(基于Ruby语言构建)是否也有同样的技术?通过这个技巧,我可以在irb中玩Ruby项目,而无需担心加载库,模块,类,文件等。谢谢

ttvkxqim

ttvkxqim1#

你的项目应该有一个加载环境的文件。假设你的项目在lib/project.rb中,那么只需:

$ irb -Ilib -rproject

字符串

zzlelutf

zzlelutf2#

我的一个项目:

# Creates an IRB console useful for debugging experiments
# Loads up the environment for the condition passed
def console
  File.open("./tmp/irb-setup.rb", 'w') do |f|
    f.puts "# Initializes the environment for IRb."
    f.puts "Code to initialize your project here"
    f.puts "$: << '#{File.expand_path(".")}/'"  #handle load path       
  end
  irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
  # require your code
  libs =  " -r irb/completion"
  libs <<  " -r #{File.dirname(__FILE__) + "/base"}"
  libs << " -r ./tmp/irb-setup.rb" # require the config file you just wrote
  puts "Loading #{@options.env} environment..."
  exec "#{irb} #{libs} --simple-prompt"
end

字符串
诀窍是你构造irb命令来自动要求你需要的所有代码。我还需要设置一些配置,所以我添加了在IRb中编写一个文件的魔法。

mjqavswn

mjqavswn3#

在我的例子中,我的初始化脚本是在当前工作目录中。下面的工作对我来说。

irb -r ./setup.rb

字符串

toiithl6

toiithl64#

对于任何项目,您也可以添加一个.irbrc,并在其中要求您想要的内容,很可能是项目的入口点。

require "lib/project"

字符串

相关问题