nueで関数合成っぽいもの
underscore.jsには関数合成の機能があります。
var _ = require('underscore'); var greet = function(name){ return "hi: " + name; }; var exclaim = function(statement){ return statement + "!"; }; var welcome = _.compose(exclaim, greet); console.log(welcome('moe'));
結果はこう。
hi: moe!
これは、、見ため的にnueのflowに似ている気がする。nueを使うと上のコードはこう書けます。
var flow = require('nue').flow; var greet = function(name){ this.next("hi: " + name); }; var exclaim = function(statement){ this.next(statement + "!"); }; var welcome = flow(exclaim, greet); flow(welcome, console.log)('moe');
結果はもちろんこう。
hi: moe!
結果をreturnしないのでまったく同じではないですが、nueは関数合成っぽい機能を持っているんだと今気づきました。なるほどねー。