タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

高階関数に関するzeroyonichihachiのブックマーク (1)

  • C# で高階関数的な、関数ポインタみたいな(Func でメソッドを切り替える) - 学び、そして考える

    ひさしぶり。 こういうことってよくあると思います。 前処理 hoge 処理 A 後処理 fuga 前処理 hoge 処理 B 後処理 fuga 前処理 hoge 処理 B 後処理 fugaそれぞれ前処理と後処理は同じことをやっている、というものです。プログラミングの基として、共通する部分は関数としてまとめる、というのがありますが、この場合処理の中身が異なるのでそういうわけにもいきません。 関数型言語に高階関数というのがあります。(高階関数 - Wikipedia) まさしくやりたいのはこういうこと。関数型言語では引数に関数を渡すことが簡単にできると。 C言語の例が載っています。関数ポインタで実現させているんですね。 C# で関数を引数とする、で思いつくのがデリゲート。これを使えば実現できそうです。 でも個人的にはデリゲートだと宣言の部分などが冗長という印象があって、そこまでやること無いか

    C# で高階関数的な、関数ポインタみたいな(Func でメソッドを切り替える) - 学び、そして考える
  • 1