2014-04-09から1日間の記事一覧

続・tapの「使え方」

逆に露骨に副作用を起こすこともできる。 i = 0 i.tap { i += 1 } 2行目の式は 0 に評価され、副作用として i が 1 になる。ちょうどC言語の後置インクリメント演算子のようだ*1。tap のレシーバが評価されるのが(tap 内部で行われる)ブロックの呼び出し…

tap の「使え方」

tap に渡すブロックで break をするとその break が tap の返り値を決定する。例えば、true.tap { break false } は false になる。さて、以下の関数は、数当てゲームのヌメロンでプレーヤーの推測と答えを比較して、イート数(位置も数もあっている)とバイ…

普通の tap の使い方

tap is a method for eavesdropping on any portion of an expression.Suppose there is a bug in the following code: data.foo.bar.baz It could be that data is not what you expect it to be, or one (or more) of the methods foo, bar and baz doesn'…