Rubyめも

Mutex#synchronize

synchronizeの途中でnextを使うとイテレータブロックを抜けるが,breakと動作の違いがあるか気になったため検証したところ,どちらも同じ動作(単純にsynchronizeブロックを抜けて次の行に行く)となった.

ただし,プログラムの見た目的にはbreakの方が意味的にもしっくりくるので,使うならbreakのほうに統一したほうがいいかもしれない.

Enumerable#inject

とても便利なので最近多用している.(後で書くかも)

pp

ppの出力はpp.pretty_inspectで取れる(Kernel#pretty_inspect).ppの出力結果をファイルに書きたい時などに便利.