Ruby 如何停止';要求"相对"';需要自己吗?

Ruby 如何停止';要求"相对"';需要自己吗?,ruby,directory,require,Ruby,Directory,Require,在我的Ruby without Rails应用程序中,我有许多保存在不同文件中的方法,比如methods.rb、other_methods.rb等,我希望从主文件main.rb访问这些方法 我的main.rb文件当前的内容是: main.rb Dir["./*.rb"].each {|file| require_relative file } puts "executing" 唯一的问题是这个输出: "executing" "executing" 我目前的做法是: Dir["./*.r

在我的Ruby without Rails应用程序中,我有许多保存在不同文件中的方法,比如methods.rb、other_methods.rb等,我希望从主文件main.rb访问这些方法

我的main.rb文件当前的内容是:

main.rb

Dir["./*.rb"].each {|file| require_relative file }
puts "executing"
唯一的问题是这个输出:

 "executing"
 "executing"
我目前的做法是:

Dir["./*.rb"].each {|file| next if file == "./main.rb"; require file }
有更好的办法吗


我应该在模块中包装我的方法,还是改为在Mixin中包装,然后使用“include”?

如何将需要的文件分离到文件夹中?然后您可以执行
Dir[“/methods/*.rb”]。每个(&method(:require_relative))
通常您希望将支持文件放在
lib
文件夹中,而不是将所有内容都放在同一文件夹中。我甚至对只有几个支持文件的项目也这样做。我建议你找一两个你喜欢的gem,看看源代码,密切关注文件夹结构。我不再做这种事了——为了清晰和安全,我实际上喜欢将所有这些文件分别命名的想法。我想你可以使用
Dir[“/*.rb”]。拒绝{x | x==“/main.rb”}。每个{y |都需要相对y}
,这至少有点表达力。@Finks+1表示简洁的一行。@CharlesCaldwell到目前为止,我的方法是处理视频、目录、下载和字符串匹配。我应该把它们放在单独的模块或mixin或其他东西中,还是把所有方法放在一个lib文件夹中也一样好?我渴望尽可能多地开始编写“Ruby方式”。