سؤال

تكرار ممكن:
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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top