演算可能なストリームとは、readOpメソッドに与えられたバッファ上に、計算した要素を格納可能な入力ストリームです。 これは、次のような実行時条件を満たしている必要があります。
+ stream.readOp!"op"(buf)は、a op= bという演算をbuf上で行う。 つまり、 - op : "+"のとき、streamから読み出された値を、bufに加える演算を表す。 - op : "-"のとき、streamから読み出された値を、bufから引く演算を表す。 + op : ""のときは、stream.read(buf)と等価です。 + stream.readOp!func(buf)は、func(a, b)という演算結果をbufに格納する - stream.readOp!((a, b) => b)(buf)は、stream.read(buf)と等価です。 - stream.readOp!((a, b) => a + b)(buf)は、stream.readOp!"+"(buf)と等価です。
See Implementation
演算可能なストリームとは、readOpメソッドに与えられたバッファ上に、計算した要素を格納可能な入力ストリームです。 これは、次のような実行時条件を満たしている必要があります。
+ stream.readOp!"op"(buf)は、a op= bという演算をbuf上で行う。 つまり、 - op : "+"のとき、streamから読み出された値を、bufに加える演算を表す。 - op : "-"のとき、streamから読み出された値を、bufから引く演算を表す。 + op : ""のときは、stream.read(buf)と等価です。 + stream.readOp!func(buf)は、func(a, b)という演算結果をbufに格納する - stream.readOp!((a, b) => b)(buf)は、stream.read(buf)と等価です。 - stream.readOp!((a, b) => a + b)(buf)は、stream.readOp!"+"(buf)と等価です。