التمرين - الدوال
في هذا التمرين، يمكنك جعل التعليمات البرمجية الخاصة بك قابلة لإعادة الاستخدام. كتب تعليمتها البرمجية مبرمج آخر من فريقك، ولكن مهمتك أن تحوله إلى دوال.
إنشاء دالات
ابدأ بدعم مشروع F# جديد، ثم خذ جزءا من التعليمات البرمجية وتحويله إلى دالة ذات معلمات.
أنشئ مشروع #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استبدل التعليمة البرمجية الافتراضية في ملف 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.أضف التعليمة البرمجية التالية أسفل
cardface()الدالة.printfn "%s" (cardFace 11)شغَّل المشروع باستدعاء
dotnet runفي وحدة التحكم.dotnet runينبغي أن تشاهد المخرج التالي الآن:
Jack
تهانينا! لقد أخذت جزءًا من التعليمات البرمجية التي أردت أن تجعلها قابلة لإعادة الاستخدام وحولتها إلى وظيفة.
إضافة أنواع
لقد حولت تعليمة زميلك البرمجية إلى دالة. لجعل هذه التعليمة البرمجية أكثر قابليةً للقراءة، قررت إضافة تعريفات النوع إليها.
تعديل دالتك
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الآن، شغَّل المشروع
dotnet run.dotnet runينبغي أن تشاهد المخرج التالي الآن:
Jackلا تزال التعليمة البرمجية تعمل وقد أوضحت ذلك من خلال إضافة نوع إلى معلمة الإدخال.
عدِّل دالتك
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، مما يعني أن الدالة ترجع سلسلة.شغَّل المشروع
dotnet run.dotnet runمرة أخرى، يجب أن تشاهد الإخراج التالي:
Jack
تهانينا! تحتوي التعليمات البرمجية الآن على أنواع جرى إضافتها إليها.