Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

وسائط الدالة

جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 47 من 78.

تصبح الدوال أكثر قوة عندما يمكنها قبول المدخلات. تسمح لك الوسائط (تسمى أيضًا المعاملات) بتمرير القيم إلى الدالة، مما يجعلها مرنة وقابلة لإعادة الاستخدام في مواقف مختلفة.

لإضافة وسائط (arguments)، ضعها داخل الأقواس عند تعريف الدالة:

greet <- function(name) {
  print(paste("Hello,", name))
}

greet("Alice")
greet("Bob")

المخرجات:

[1] "Hello, Alice"
[1] "Hello, Bob"

تعمل الدالة الآن مع أي اسم تقدمه. عندما تستدعي greet("Alice")، يتم تعيين القيمة "Alice" إلى المعلمة name داخل الدالة.

يمكنك تعريف وسائط متعددة عن طريق الفصل بينها بفاصلات:

add <- function(a, b) {
  print(a + b)
}

add(5, 3)
add(10, 20)

المخرجات:

[1] 8
[1] 30

عند استدعاء دالة تحتوي على وسائط متعددة، يتم مطابقة القيم مع المعلمات بالترتيب. تذهب القيمة الأولى إلى المعلمة الأولى، والقيمة الثانية إلى المعلمة الثانية، وهكذا.

challenge icon

التحدي

سهل

قم بإنشاء دالة تسمى calculate_area تأخذ وسيطين: length و width. يجب أن تقوم الدالة بطباعة المساحة (الطول مضروباً في العرض) باستخدام print().

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

على سبيل المثال، إذا كانت المدخلات هي 5 و 3، يجب أن تكون النتيجة:

[1] 15

إذا كانت المدخلات هي 7 و 4، يجب أن تكون النتيجة:

[1] 28

ورقة مرجعية

يمكن للوظائف قبول الوسائط (arguments) لجعلها مرنة وقابلة لإعادة الاستخدام. توضع الوسائط داخل الأقواس عند تعريف الوظيفة:

greet <- function(name) {
  print(paste("Hello,", name))
}

greet("Alice")  # [1] "Hello, Alice"

عند استدعاء الوظيفة، يتم تعيين القيمة التي قمت بتمريرها إلى المعلمة (parameter) داخل الوظيفة.

يمكنك تعريف وسائط متعددة عن طريق الفصل بينها بفاصلات:

add <- function(a, b) {
  print(a + b)
}

add(5, 3)  # [1] 8

عند استدعاء وظيفة تحتوي على وسائط متعددة، يتم مطابقة القيم مع المعلمات حسب الترتيب.

جرّب بنفسك

# قراءة المدخلات
con <- file("stdin", "r")
length <- as.numeric(suppressWarnings(readLines(con, n = 1)))
width <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# TODO: قم بإنشاء دالة تسمى calculate_area تأخذ الطول والعرض
# وتطبع المساحة (الطول * العرض)


# استدعِ الدالة الخاصة بك مع قيم المدخلات
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals