注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
C#はラムダ記法で無名関数が書けますし、Javaも8からラムダ記法が可能になりました。 しかし無名関数で... C#はラムダ記法で無名関数が書けますし、Javaも8からラムダ記法が可能になりました。 しかし無名関数では再帰関数が書けません。 さてどういうことか。 再帰関数の代表選手として階乗計算を例にとってみましょう。 まず、メソッドとして再帰的に書いてみます。 int Pow(int n) { return (n > 1) ? n * Pow(n - 1) : 1; } こうですね。では、これをラムダ記法で書こうとすると… Func<int, int> pow = n => (n > 1) ? n * 【ここに書くメソッド名がない!】(n - 1) : 1; そう、自分自身を呼ぼうにも自分自身は無名だから呼びようがないのです。困りました。 Javascriptを使う人は「arguments.calleeを使えばいい」と思うかもしれませんが、Javascriptだってもうarguments.call
2014/02/24 リンク