تعريف الدوال
جزء من قسم الأساسيات في رحلة Rust على Coddy. الدرس 49 من 75.
الدالة هي تسلسل من التعليمات البرمجية له اسم. والغرض من الدالة هو إعادة استخدام جزء من التعليمات البرمجية عدة مرات.
على سبيل المثال، ألقِ نظرة على هذا الرمز:
println!("Welcome to Coddy");
println!("New session...");
println!("Welcome to Coddy");
println!("Another session...");
println!("Welcome to Coddy");نستخدم الشيفرة نفسها println!("Welcome to Coddy") مرارًا وتكرارًا. ومن المشكلات الأخرى في هذه الشيفرة أنه إذا أردنا تغيير الرسالة: Welcome to Coddy إلى شيء مختلف، مثل "Welcome aboard"، فسيتعين علينا تغيير 3 أسطر مختلفة من الشيفرة. لحل هذه المشكلة، سنستخدم الدوال.
للتصريح عن دالة، نستخدم الصياغة التالية:
fn function_name(parameters) {
// الشيفرة
}في مثالنا، سننشئ دالة باسم greet وستبدو هكذا:
fn greet() {
println!("Welcome to Coddy");
}لاستخدام الدالة/استدعائها/تنفيذها، نكتب greet();:
greet();
println!("New session...");
greet();
println!("Another session...");
greet();سينتج عن ذلك الناتج نفسه كما في الأعلى.
ملاحظة: في Rust، يتيح لك المصرّف استدعاء دالة قبل تعريفها في الملف. ومع ذلك، يُوصى بكتابة تعريف الدالة قبل استدعائها/تنفيذها.
التحدي
سهلاكتب برنامجًا يستقبل مُدخلًا واحدًا، وهو عدد. يحدد عدد المُدخل عدد المرات التي تُنفَّذ فيها الدالة أدناه.
أنشئ دالة تحسب مجموع جميع الأعداد بين 1 و1000 (شاملًا) وتطبعه، وسمِّ الدالة كما تشاء.
ملاحظة! يُنصح، وفقًا للعرف المتبع، بكتابة الدالة قبل عبارات استدعائها/تنفيذها في الشيفرة.
جرّب بنفسك
use std::io;
// تعريف الدالة
fn sum_numbers() {
// أكمل الدالة
}
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let n: i32 = input.trim().parse().unwrap();
for _ in 0..n {
// استدعِ الدالة n مرات
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكيتدرّب بنفسك: مترجم Rust عبر الإنترنت