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

الثوابت

جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 29 من 53.

استخدم constant على مستوى العقد لقيمة تُحدَّد وقت التجميع. حدِّد قيمتها في التصريح. لا يمكن إعادة تعيين الثابت. وهو مفيد لعامل تحويل ثابت أو قاعدة مستقرة تشترك فيها عدة دوال.

صرّح بهذا على نطاق العقد:

uint256 constant HOURS_PER_DAY = 24;

استخدمه داخل الدالة main المتوفرة:

uint256 daysCount = 3;
console.log(daysCount * HOURS_PER_DAY);

‏HOURS_PER_DAY‏ ثابتة عند أربعٍ وعشرين، لذا تحتوي ثلاثة أيام على اثنتين وسبعين ساعة. بخلاف تهيئة الحالة العادية، تُضمَّن قيمة الثابت في مواضع استخدامه أثناء الترجمة. تُعدّ الأسماء المكتوبة بأحرف كبيرة اصطلاحًا شائعًا للثوابت، وليست متطلبًا من متطلبات المترجم.

تُهيَّأ قيمة الثابت عند التصريح عنه، ولا يمكن إعادة إسناد قيمة إليه.

challenge icon

التحدي

سهل

صرّح عن ثابت من النوع uint256 باسم MINUTES_PER_HOUR يساوي 60. اطبع حاصل ضرب hoursCount في ذلك الثابت.

تُمرِّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 hoursCount. يبدأ كل اختبار بحالة عقد جديدة.

استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.

جرّب بنفسك

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 hoursCount) external view {
        // اكتب حلك هنا.
    }
}
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Solidity