std.bind for D2.0 (4)
動かないパターンを見つけてしまった.
import std.bind, std.stdio; void main() { int foo(int i) {return i*2;} int bar(int i) {return i*3;} auto fooBar = bind(&foo, bind(&bar, _0)); //これなら動くが //auto fooFooBar = bindAlias!(foo)(bind(fooBar.ptr, _0)); //こうすると動かない auto fooFooBar = bindAlias!(foo)(bindAlias!(fooBar)(_0)); writefln(fooFooBar(5)); }
今のままでも bind を使えば何段階でも合成できるんだけど,どうせなら bindAlias で合成できるようにしたいなあ.
どうしたものかな.
とりあえずこの件はこれで一旦終了.