2007-10-19から1日間の記事一覧

ClassicIterator

GoFのデザパタに出てくるような、古典的イテレータメソッドを持つクラスを追加することにしました。 イテレータに対し、classicメソッドを呼び出すと元のイテレータがClassicIteratorに包まれて取得できます。 iter: 3.times.classic; for(; !iter.is_done; …

in演算子 !in演算子

範囲演算子を追加したので、あわせてin演算子を導入することにしました。 x in range というin演算子は、x.op_in#(range.class)(range) というメソッド呼び出しと等しくなります。 x !in range は !(x.op_in#(range.class)(range)) と等しいです。 (5 in 0..…