この再帰関数が機能しないのはなぜですか?
コード:
Clear[i];
Clear[v];
final= 4;
Recursion = Function[{v},
For[i = 1, i <= 2, i++,
Print["Current level ", v ];
Print["Try: ", i];
If[v == final,
Print["End"];,
Recursion[v + 1]; (*else-case*)
];
Print["Back! i:", i];
];
]
Recursion[1];
外:
0: 現在のレベル 1
1: トライ: 1
2: 現在のレベル 2
3: トライ: 1
4: 現在のレベル 3
5: トライ: 1
6: 現在のレベル 4
7: トライ: 1
8: 終了
9: 戻る! i:1
10: 現在のレベル 4
11: トライ: 2
12: 終了
13: 戻る! i:2
14: 帰ってきた!i:3
15: 帰ってきた!i:4
16: 帰ってきた!私:5
ヒールプ
14 行目で、"i" は =2、現在のレベル: 3、try: 2.. 次に i=1、次に i=2.. の二分木のようになります。
なぜこうなった?!