التمرين - الدوال

مكتمل

في هذا التمرين، يمكنك جعل التعليمات البرمجية الخاصة بك قابلة لإعادة الاستخدام. كتب تعليمتها البرمجية مبرمج آخر من فريقك، ولكن مهمتك أن تحوله إلى دوال.

إنشاء دالات

ابدأ بدعم مشروع F# جديد، ثم خذ جزءا من التعليمات البرمجية وتحويله إلى دالة ذات معلمات.

  1. أنشئ مشروع #F جديد عن طريق تشغيل dotnet new.

    dotnet new console --language F# -o Functions
    cd Functions
    

    الآن بعد أن أصبح لديك مشروع جديد، دعنا نلقي نظرة على التعليمة البرمجية.

    إليك التعليمة البرمجية من زميلك.

    let no = card % 13
    if no = 1 then "Ace"
    elif no = 0 then "King"
    elif no = 12 then "Queen"
    elif no = 11 then "Jack"
    else string no
    
  2. استبدل التعليمة البرمجية الافتراضية في ملف Program.fs بالتعليمة البرمجية التالية:

    let cardFace card = 
       let no = card % 13
       if no = 1 then "Ace"
       elif no = 0 then "King"
       elif no = 12 then "Queen"
       elif no = 11 then "Jack"
       else string no
    

    الخط الأول من هذه التعليمة البرمجية let cardFace card يحولها إلى دالة. إنها الآن دالة تُسمى cardface() وتضم المعلمة card.

  3. أضف التعليمة البرمجية التالية أسفل cardface() الدالة.

    printfn "%s" (cardFace 11)
    
  4. شغَّل المشروع باستدعاء dotnet run في وحدة التحكم.

    dotnet run
    

    ينبغي أن تشاهد المخرج التالي الآن:

    Jack
    

تهانينا! لقد أخذت جزءًا من التعليمات البرمجية التي أردت أن تجعلها قابلة لإعادة الاستخدام وحولتها إلى وظيفة.

إضافة أنواع

لقد حولت تعليمة زميلك البرمجية إلى دالة. لجعل هذه التعليمة البرمجية أكثر قابليةً للقراءة، قررت إضافة تعريفات النوع إليها.

  1. تعديل دالتك cardface() الموجودة لتبدو كما يلي:

    let cardFace (card:int) = 
        let no = card % 13
        if no = 1 then "Ace"
        elif no = 0 then "King"
        elif no = 12 then "Queen"
        elif no = 11 then "Jack"
        else string no
    
  2. الآن، شغَّل المشروع dotnet run.

    dotnet run
    

    ينبغي أن تشاهد المخرج التالي الآن:

    Jack
    

    لا تزال التعليمة البرمجية تعمل وقد أوضحت ذلك من خلال إضافة نوع إلى معلمة الإدخال.

  3. عدِّل دالتك cardface() لتبدو كما يلي:

    let cardFace (card:int) :string = 
        let no = card % 13
        if no = 14 || no = 1 then "Ace"
        elif no = 13 then "King"
        elif no = 12 then "Queen"
        elif no = 11 then "Jack"
        else string no
    

    عند هذه النقطة، قمت بإضافة نوع إرجاع إلى الدالة :string، مما يعني أن الدالة ترجع سلسلة.

  4. شغَّل المشروع dotnet run.

    dotnet run
    

    مرة أخرى، يجب أن تشاهد الإخراج التالي:

    Jack
    

تهانينا! تحتوي التعليمات البرمجية الآن على أنواع جرى إضافتها إليها.