From: Akira Matsuda Date: 2011-06-03T05:56:32+09:00 Subject: [ruby-dev:43612] Re: [ruby-list:48149] Re: requireが配列を取れたら便利だと思うんだけど.. 松田です。 ユーザーの視点から言えば、むしろ記法mattersです。つまり、 > A: requireが多引数になるべきかどうか > B: requireが並列に走れるかどうか > C: 並列requireを推奨するのはどうなのか {A:ここが気になる, B: 素人目にもなんか問題ありそうなのでそこは一旦置いといて, C:無理っしょ}、 という感じです。 実際どうなるのかちょっとやってみると、たとえば以下のような感じで、 lib/irb.rb: https://github.com/amatsuda/ruby/commit/3ad27877 lib/rdoc/rdoc.rb: https://github.com/amatsuda/ruby/commit/0e4980e7 うん、まぁ短くなったね、というところでしょうか(requireは可変長ということにしてます)。 require もろもろ.map {|r| うんぬん} のところは、 もろもろ.each {|r| require うんぬん} とどう違うんだ、って言われそうで、もうひと工夫欲しいところですね。 いずれにしろ、もっとアプリ寄りのコードではもっと多種多様なものをあれこれrequireしたりするし、 人のコードを読もうとするとたいてい.rbファイルの一番上のあたりが情報密度の低いrequire群で 埋め尽くされてて1画面分ぐらいスクロールしないと大事なところに辿り着けなかったりしがちなので、 そこの行数が圧縮できるのは嬉しいように思います。 たまたま手元にあったコードで試してみるとこんな感じで、 rails/arel:lib/arel.rb https://github.com/amatsuda/arel/commit/4ff076e1 あいかわらすmapが微妙なのはさておき、 * 行数がだいぶ減る * あくまでも見た目上の問題ながら、いくつかのrequireをグループ化して整理できる といったメリットがありそうです。 結論としては、個人的にはあれば重宝しそうなので +1、いや、+0.75ぐらいで。 -- Akira Matsuda