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

دوال قراءة الحالة العامة

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

تؤدي إضافة public إلى متغير حالة إلى جعل المترجم ينشئ دالة getter يمكن استدعاؤها من خارج العقد. ولا تنشئ دالة setter. داخل العقد، اقرأ المتغير مباشرةً باسمه. تتحكم الرؤية العامة في الواجهة، وليس في ما إذا كان تخزين سلسلة الكتل سريًا.

صرّح بهذا على مستوى العقد:

uint256 public score;

استخدمه داخل الدالة main المقدَّمة:

score = 32;
console.log(score);

يُنشئ التصريح uint256 public score دالة getter تُسمّى score للمتصلين الخارجيين. داخل main، يقرأ الاسم المجرد متغير الحالة. ولا تزال كتابة قيمته تتطلب كود العقد؛ إذ لا تتيح public للمتصلين إسناد قيمة إلى التخزين مباشرةً.

يحصل متغير الحالة العام على دالة getter خارجية، وليس دالة setter تلقائية.

challenge icon

التحدي

سهل

صرّح عن uint256 public total. عيّن total إلى amount المُزوَّد داخل main واطبعه.

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

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

جرّب بنفسك

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

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

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

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