自动加载项目环境到irb

问题描述 投票:0回答:4

Rails 有有用的命令

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

ruby-on-rails ruby irb
4个回答
22
投票

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

$ irb -Ilib -rproject

1
投票

来自我的一个项目:

# 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 中需要它。


0
投票

就我而言,我的初始化脚本位于当前工作目录中。以下内容对我有用。

irb -r ./setup.rb

0
投票

对于任何项目,您还可以添加一个

.irbrc
,并要求其中包含您想要的内容,很可能是项目的入口点。

require "lib/project"
© www.soinside.com 2019 - 2024. All rights reserved.