@blog.justoneplanet.info

日々勉強

芸術的再帰

■ソース

//リストの平方和を求める関数sumOfSquares
function accumulate(combiner, nullValue, l){
    if(l.length == 0){
        return nullValue;
	}
    var first = l.shift();
    return combiner(
		first,
		accumulate(
			combiner,
			nullValue,
			l
		)
	);
}
function sumOfSquares(lst){
    return accumulate(
		function(x,y){return x*x+y},
		0,
		lst
	);
}
//sumOfSquares([1,2,3])
//14

■コメント

うーん。。。しゅごい!!!

コメントはまだありません»

No comments yet.

RSS feed for comments on this post.TrackBack URL

Leave a comment