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

قيم الإرجاع

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

حتى الآن، كانت دوالنا تطبع المخرجات مباشرة. ولكن في كثير من الأحيان قد ترغب في أن تقوم الدالة بحساب قيمة وإعادتها لتتمكن من استخدامها في مكان آخر في الكود الخاص بك. هنا يأتي دور قيم الإرجاع (return values).

استخدم دالة return() لإرسال قيمة مرة أخرى من دالتك:

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

result <- add(5, 3)
print(result)

المخرجات:

[1] 8

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

هذا يجعل الدوال أكثر تنوعاً:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))

المخرجات:

[1] 16

في لغة R، إذا لم تستخدم return()، فإن الدالة تُرجع تلقائياً آخر تعبير تم تقييمه. ومع ذلك، فإن استخدام return() بشكل صريح يجعل الكود الخاص بك أكثر وضوحاً وهو مفيد بشكل خاص عندما تريد الخروج من الدالة مبكراً.

challenge icon

التحدي

سهل

أنشئ دالة تسمى calculate_power تأخذ وسيطين: base و exponent. يجب أن تعيد الدالة نتيجة رفع الأساس إلى قوة الأس (باستخدام عامل التشغيل ^).

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

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

[1] 8

إذا كانت المدخلات 5 و 2، يجب أن تكون المخرجات:

[1] 25

ورقة مرجعية

يمكن للدوال إرجاع القيم باستخدام دالة return(). يتيح لك ذلك تخزين النتيجة في متغير أو استخدامها في عمليات أخرى:

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

result <- add(5, 3)
print(result)  # [1] 8

يمكن استخدام القيم المرجعة مباشرة في التعبيرات:

double <- function(x) {
  return(x * 2)
}

print(double(5) + double(3))  # [1] 16

في لغة R، تقوم الدوال تلقائيًا بإرجاع آخر تعبير تم تقييمه إذا لم يتم استخدام return(). ومع ذلك، فإن استخدام return() بشكل صريح يجعل الكود أكثر وضوحًا ويسمح بالخروج المبكر من الدوال.

جرّب بنفسك

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

# مهام: قم بإنشاء دالة تسمى calculate_power تأخذ base و exponent
# وتعيد base مرفوعاً لأس exponent باستخدام المعامل ^


# مهام: استدعِ الدالة الخاصة بك مع قيم المدخلات وقم بتخزين النتيجة في 'result'


# طباعة النتيجة
print(result)
quiz iconاختبر نفسك

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

جميع دروس Fundamentals