質問するログイン新規登録

回答編集履歴

2

訂正

2019/05/02 14:38

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -27,7 +27,9 @@
27
27
 
28
28
  // ------ (B) ---------
29
29
  // 上記仕様のおかげ(?)で次のようなことは可能になっている
30
+ /* --- Zuishinさんコメントを受け、xへの代入文の例は取り消させてください ---
30
- Func<int> x = bar; // 関数名のみで型が特定される
31
+ Func<int> x = bar; // 関数名のみで型が特定される=>主張が不適切だった
32
+ */
31
33
  baz(bar); // BAZ1の呼び出しと解釈される
32
34
  }
33
35
 

1

誤記

2019/05/02 14:38

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -40,4 +40,4 @@
40
40
 
41
41
  ローカル関数の名前が「関数名」というより「第一級関数オブジェクトが格納されている変数名」として捉えるとこういう仕様が自然に感じられる気はします。
42
42
 
43
- なぜそうしたのかはっきりわかりませんが、上の例で(A)のようローカル数がオーバーロードできることと、(B)のように第一級関数として扱いやすくなることのどちらを重視するかといえば個人的に(B)が重要な気がしたのでそういう意味では納得できる気がしました。
43
+ なぜそうしたのかはっきりわかりませんが、上の例で(A)のようなことができる(ローカル数がオーバーロードできる)ことと、(B)のように第一級関数として扱いやすくなることのどちらを重視するかといえば個人的に(B)が重要な気がしたのでそういう意味では納得できる気がしました。