LoginSignup
3
3

More than 5 years have passed since last update.

Yokohama.rb 2014年9月13日

Last updated at Posted at 2014-09-14

レシピブック 174〜

Find.findDir.glob

Find.find(".")Dir.glob("./**/*") の違い。

  • Dir.glob の方が速い。
  • Find.find だとhidden file も取れる。
  • Find.find には Find.prune がある。
  • prune は 「刈込み」または「乾燥スモモ」

ベンチマークは以下のような感じで行った。

N=100
p Benchmark.realtime{ N.times{ Find.find(".").to_a } }
#=> 0.849767
p Benchmark.realtime{ N.times{ Dir.glob("./**/*").to_a } }
#=> 0.590455

対象となるディレクトリに hidden ファイル / hidden ディレクトリ があると公平にならないので注意。

9/16 追記

Qiita の関連記事に

があるのを発見し、読んでみたところ。

使い勝手と総処理時間では Dir.glob のが有利だが、Find は処理を始めるまでの時間が短い

という重大な違いがあることがわかった。手元で試してもまったくそのとおりだった。
不覚。
というわけで、 Find.find には存在意義がある。

FileUtils.cp_r

返戻値になんか帰ってくることがあるけど、特に意味はなさそうな感じ。

FileUtils のドキュメント( pry-doc とか、 ri とか )を見ると

copy_entry(src, dest, preserve = false, dereference = false)

とあるけど、dereference は dereference_root の間違いっぽい。

dereference_root という名前のとおり、コピー元の root だけを(そうする必要があれば)dereferenceする。

FileUtils.rm_rf

rm_r には force:true できるけど、rm_rfforce:true をつけるとエラーになる。

FileUtils.rm_r([], force:true) #=> [ ]

FileUtils.rm_rf([], force:true)
# =>ArgumentError: no such option: force

Actor model

see https://github.com/cesare/actors-introduction/blob/master/yokohamarb-2014-09-13.md

TokyuRuby会議08

朝10時から飲む、LT大会。
see http://regional.rubykaigi.org/tokyu08/
日本酒が出そうらしい。

雑感

Actor モデルって

A「Bさん、hogeやっといて」
A「Cさん、fugaやっといて」
B「Aさん、hogeできました」

のようなやりとりなんだなきっと。

あと。
PlayStation2 に載っていた CELL を思い出した。

懇親会

略。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3