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

الهياكل

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

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

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

struct Parcel { uint256 weight; bool ready; }

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

Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);

يحتوي النوع Parcel على الحقلين weight وready. يوفّر المُنشئ الموضعي القيم بترتيب التصريح. يوجد هذا العنصر في الذاكرة أثناء الاستدعاء الحالي؛ ولا يؤدي التصريح عن نوع بنية وحده إلى إنشاء سجلات مخزّنة.

استخدم نقطة يتبعها اسم الحقل لقراءة حقل بنية أو تغييره.

challenge icon

التحدي

سهل

صرّح عن بنية باسم Badge تحتوي على uint256 level وbool active، بهذا الترتيب. أنشئ Badge في الذاكرة من المدخلات المقدَّمة واطبع كلا الحقلين.

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

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

جرّب بنفسك

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

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

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

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