معاملات الدوال
جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 21 من 53.
تجمع الدالة عملية قابلة لإعادة الاستخدام تحت اسم. ومعاملاتها هي مدخلات مسمّاة ذات أنواع مُعلنة. يزوّد المستدعي الوسائط بالترتيب نفسه. في هذا المثال، يضيف مساعد داخلي صغير كميتين مُمرَّرتين، وتطبع main النتيجة.
عرّف هذا المساعد داخل العقد:
function combine(uint256 left, uint256 right) internal pure returns (uint256) {
return left + right;
}استخدمه داخل دالة main المقدَّمة:
console.log(combine(7, 9));يؤدي استدعاء combine إلى نسخ 7 إلى left و9 إلى right. يصف returns (uint256) نوع النتيجة، بينما يرسل return القيمة المحسوبة مجددًا. يمكن استدعاء المساعد الداخلي من هذا العقد؛ فهو ليس نقطة دخول خارجية.
يحدد ترتيب الوسائط القيمة التي يستلمها كل مُعامل في الدالة.
التحدي
سهلأنشئ دالة داخلية نقية باسم difference تستقبل قيمتين من نوع uint256 وتُرجع القيمة الأولى ناقص الثانية. في main، اطبع difference(high, low). تكون قيمة high أكبر من أو مساوية لقيمة low.
تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 high، ثم uint256 low. يبدأ كل اختبار بحالة عقد جديدة.
استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.
جرّب بنفسك
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 high, uint256 low) external view {
// اكتب حلك هنا.
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات والأنواع
الأعداد الصحيحة غير الموقعةالمدخلات والمخرجاتالأعداد الصحيحة الموقعةالقيم المنطقيةالسلاسل النصية في الذاكرةبطاقة الملف الشخصي5الدوال
معاملات الدوالإرجاع القيمالدوال النقيةاستدعاءات الدوال المساعدةالحسابات القابلة لإعادة الاستخدامتدرّب بنفسك: Playground لـ Solidity