F#:相互に再帰関数[重複
-
26-09-2019 - |
質問
可能な複製:
F#] 2つの方法を互いに呼び出す方法は?
皆さんこんにちは、
相互に再帰的であることから利益を得る2つの機能があるシナリオがありますが、F#でこれを行う方法は本当にわかりません
私のシナリオは次のコードほど単純ではありませんが、コンパイルに似たものを取得したいと思います。
let rec f x =
if x>0 then
g (x-1)
else
x
let rec g x =
if x>0 then
f (x-1)
else
x
解決
使用することもできます let
rec
... and
形:
let rec f x =
if x>0 then
g (x-1)
else
x
and g x =
if x>0 then
f (x-1)
else
x
他のヒント
相互に再帰的な関数を取得するには、パラメーターとして一方を他方に渡すだけです
let rec f g x =
if x>0 then
g (x-1)
else
x
let rec g x =
if x>0 then
f g (x-1)
else
x
使用 let rec ... and ...
構成:
let rec f x =
if x>0 then
g (x-1)
else
x
and g x =
if x>0 then
f (x-1)
else
x
所属していません StackOverflow