public void 言う(string s) => print(s);
public void ぴよって言う()=> なにか言う("ぴよ", 言う);
ぴよって言う()の中身の通り、なにか言う()は出力用の関数を外部からもらう形になっているので、言う()では無い関数を渡すことで、出力先や方法などを容易に変えることが出来ますの。(例えば、ファイルに出力するなど)
ちなみに、値を返さない関数の型はAction、返すものはFuncと書くそうですの。ここではActionを使う例のみ。
名前も微妙に長いしなぜわけたのですの。ぜんぶ、F<>でよかったような。
Actionの場合はまだいいけれど、Funcで「関数を返す関数」を返す、をやりはじめると定義が長くなりがちなので、なるべく短く書ける記法を用意しておいて欲しかったですの。
(あとで思ったけど、たしかにFuncだけだと値を返さない場合を表現しきれないので、わけるのはしょうがなかったのかもですの)
0 コメント:
コメントを投稿