【发布时间】:2023-03-27 20:12:01
【问题描述】:
Rails 有一个有用的命令rails console,它会下载所有必要的数据,然后我们可以与irb 中的rails 项目进行交互。 Ruby 项目(基于 Ruby 语言构建)是否有相同的技术?通过这个技巧,我可以在irb 中使用 Ruby 项目,而无需考虑加载库、模块、类、文件等。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby irb
Rails 有一个有用的命令rails console,它会下载所有必要的数据,然后我们可以与irb 中的rails 项目进行交互。 Ruby 项目(基于 Ruby 语言构建)是否有相同的技术?通过这个技巧,我可以在irb 中使用 Ruby 项目,而无需考虑加载库、模块、类、文件等。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby irb
您的项目应该有一个加载环境的文件。假设您的项目位于 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 中。
【讨论】:
console.rb 并在最后简单地添加 console 那么它应该在你运行它时工作使用ruby console.rb 它应该可以工作。您必须对其进行自定义以满足您的需求,我已尝试指出在哪里。
就我而言,我的初始化脚本位于当前工作目录中。以下对我有用。
irb -r ./setup.rb
【讨论】: