Rails 有有用的命令
rails console
,它会下载所有必要的数据,然后我们可以在 irb
中与 Rails 项目进行交互。 Ruby 项目(基于 Ruby 语言构建)是否有相同的技术?通过这个技巧,我可以在 irb
中使用 Ruby 项目,而无需担心加载库、模块、类、文件等。
谢谢
您的项目应该有一个加载环境的文件。假设您的项目位于 lib/project.rb 中,那么只需:
$ irb -Ilib -rproject
来自我的一个项目:
# 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 中需要它。
就我而言,我的初始化脚本位于当前工作目录中。以下内容对我有用。
irb -r ./setup.rb
对于任何项目,您还可以添加一个
.irbrc
,并要求其中包含您想要的内容,很可能是项目的入口点。
require "lib/project"