Ruby on rails 需要irb控制台中的lib目录

Ruby on rails 需要irb控制台中的lib目录,ruby-on-rails,ruby,irb,Ruby On Rails,Ruby,Irb,有没有办法在irb控制台中一次要求lib目录中的所有文件 irb ( project root ) require './lib/' # not working 结构 . | --lib | |-- one.rb |-- two.rb |-- tree.rb 编辑 我更喜欢这样一种解决方案,即我可以只需要一次文件,而不是每次启动irb会话时都需要 Asrequire(and)不能将目录名作为参数,只能使用单个文件名。您可以编写以下内容来完成您想要的操作: Dir['./

有没有办法在
irb
控制台中一次
要求
lib
目录中的所有文件

irb ( project root )
require './lib/' # not working  
结构

.
|
--lib 
  |
  |-- one.rb
  |-- two.rb
  |-- tree.rb
编辑

我更喜欢这样一种解决方案,即我可以
只需要一次
文件,而不是每次启动
irb
会话时都需要

As
require
(and)不能将目录名作为参数,只能使用单个文件名。您可以编写以下内容来完成您想要的操作:

Dir['./lib/*.rb'].each { |f| require_relative(f) }
你可以用这个

Dir[File.dirname(__FILE__) + '/lib/*.rb'].each {|file| require file }

在您的主目录中创建一个名为
.irbrc
的文件,并在其中为您想要的任何文件编写
require
命令。当您运行
irb
时,将加载
.irbrc

请执行
require\u relative./lib/one.rb'
require_relative./lib/two.rb'
require_relative./lib/three.rb'
阅读此-@ArupRakshit假设我正在处理5个文件…键入太多了…希望有一个解决方案,我可以只需要一次。是的。。。请看..@ArupRakshit当你退出irb会议并回来时,你必须再做一次…更喜欢sawa的解决方案-请看他的回答中的我的评论。我不知道为什么这会得到否决票,它准确地回答了问题。我不是否决票,但我认为每次在irb中键入这一点是不实际的。另外,
f
已经是一条绝对路径,所以
require
就足够了,除非你认为应该经常使用
require\u relative
来接管
require
(我不反对)。@sawa显然,如果OP在运行irb时必须要求文件,我的答案是不可能的。关于使用
require\u relative
:我使用它来从我在
$:
中没有列出的目录中请求文件。你应该反对不断地将
require\u relative
替换为
require
,因为它根本不起作用,例如使用
require\u relative
你不能从gems加载文件。问题不在于需要使用哪些命令来要求文件夹中的所有内容吗?我不这么认为。我认为OP想要一种在irb启动时(无论是自动还是手动)轻松地需要几个文件(恰好在一个目录中)的方法。我建议使用一种自动方式。他们使用的坏代码显示
require
调用文件夹(不起作用)。他们确实提到了
irb
,但没有提到启动。这是
irb
命令之后的第一行。而且,即使OP没有要求它在启动时完成,它会有什么不同?你认为需要的时间很重要,OP需要在加载文件之前在irb中做些什么?我想这只是因为这是一个例子。他们应该放些什么呢?无论如何,我想我们必须等到选择了答案:)