F#: وظائف متكررة متبادلة [مكررة
-
26-09-2019 - |
سؤال
تكرار ممكن:
F#] كيف يكون لديك طريقتان يتصلان ببعضهما البعض؟
اهلا جميعا،
لديّ سيناريو حيث لدي وظيفتان من شأنه أن يستفيد من كونه متكررًا متبادلًا ، لكنني لست متأكدًا حقًا من كيفية القيام بذلك في 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