回答編集履歴

1

==はつけない

2018/07/05 22:25

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -66,4 +66,4 @@
66
66
 
67
67
 
68
68
 
69
- 最初のaccumが単なる`a`にのはいいとして、問題は次のaccumですが、`return`で渡した関数そのものになります。そして、次の処理の=====outer=====の所でそのaccumが呼ばれるため、`return`で渡した関数の中身が実行されます。上のコードで言うと、`accum2`がouterで実行されているという所ですね。そのような流れで、どんどんaccumには過去の関数も蓄積され、その度にouterでもよばれているので、何度もinnerが表示されると言うことです。
69
+ 最初のaccumが単なる`a`にのはいいとして、問題は次のaccumですが、`return`で渡した関数そのものになります。そして、次の処理のouterの所でそのaccumが呼ばれるため、`return`で渡した関数の中身が実行されます。上のコードで言うと、`accum2`がouterで実行されているという所ですね。そのような流れで、どんどんaccumには過去の関数も蓄積され、その度にouterでもよばれているので、何度もinnerが表示されると言うことです。