إرجاع القيم
جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 22 من 53.
يمكن للدالة حساب نتيجة دون طباعتها. صرّح بنوع النتيجة باستخدام returns، ثم استخدم return داخل الجسم. يمكن للمستدعي تخزين القيمة المُعادة واستخدامها في تعبير أكبر. الإعادة والطباعة إجراءان منفصلان.
عرّف هذه الدالة المساعدة داخل العقد:
function doubled(uint256 n) internal pure returns (uint256) {
return n * 2;
}استخدمها داخل الدالة main المتوفرة:
uint256 value = doubled(9);
console.log(value + 1);تُعيد الدالة المساعدة القيمة ثمانية عشر. يضيف المستدعي واحدًا ويطبع تسعة عشر. تُنهي عبارة return استدعاء الدالة الحالي، لذا لا يمكن للتعليمات العادية التي تأتي بعد عبارة return غير المشروطة أن تسهم في ذلك الاستدعاء.
يمكن للمستدعي تخزين قيمة مُعادة أو استخدامها دون أن تطبعها الدالة المساعدة.
التحدي
سهلاكتب دالة مساعدة داخلية ونقية باسم square تُرجع حاصل ضرب n في n. في main، خزّن square(side) في متغير واطبعه.
تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 side. يبدأ كل اختبار بحالة عقد جديدة.
استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.
جرّب بنفسك
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 side) external view {
// اكتب حلك هنا.
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات والأنواع
الأعداد الصحيحة غير الموقعةالمدخلات والمخرجاتالأعداد الصحيحة الموقعةالقيم المنطقيةالسلاسل النصية في الذاكرةبطاقة الملف الشخصي5الدوال
معاملات الدوالإرجاع القيمالدوال النقيةاستدعاءات الدوال المساعدةالحسابات القابلة لإعادة الاستخدامتدرّب بنفسك: Playground لـ Solidity