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

مصفوفات الذاكرة الديناميكية

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

استخدم new uint256[](length) لتخصيص مصفوفة في الذاكرة بطول يتم اختياره أثناء التشغيل. تبدأ عناصرها بالقيمة صفر. على الرغم من أن النوع يستخدم أقواسًا فارغة، لا يمكن تغيير حجم مصفوفة الذاكرة المخصّصة باستخدام push أو pop.

تعمل العبارات الواردة في هذا المقتطف داخل الدالة main المقدَّمة.

uint256[] memory values = new uint256[](3);
values[1] = 19;
console.log(values.length);
console.log(values[0]);

تحتوي المصفوفة على ثلاث خانات، ولم تُسند قيمة إلا إلى الخانة الوسطى. يظل عنصرها الأول يساوي صفرًا. تُبلغ خاصية الطول عن عدد العناصر الموجودة، وليس قيمة العنصر الأخير.

تبدأ مصفوفة الذاكرة uint256 المخصَّصة حديثًا بعناصر قيمتها صفر.

challenge icon

التحدي

سهل

خصّص مصفوفة ذاكرة بطول n، واضبط عنصرها الأخير على marker، ثم اطبع طولها وعنصرها الأخير. تكون قيمة n بين 1 و8.

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

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

جرّب بنفسك

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

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

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

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