即将使用以下扩展名扩展Array类:
class Array
def shuffle!
size.downto(1) { |n| push delete_at(rand(n)) }
self
end
end
然而,我想知道在哪里保留这些扩展的好地方。我在考虑environment.rb或在initializers目录中放入自己的文件。
答案 0 :(得分:11)
我通常遵循ActiveSupport约定,将其放在lib/core_ext/#{class}.rb
中 - 在本例中为lib/core_ext/array.rb
。正如John Hyland所说,您可以根据需要明确地要求文件,或者在初始化程序中放置require语句。