التكرار عبر المصفوفات
جزء من قسم الأساسيات في رحلة Solidity على Coddy. الدرس 39 من 53.
استخدم عدّاد الحلقة كفهرس للمصفوفة لمعالجة كل عنصر. ابدأ من الصفر واستمر ما دام العدّاد أصغر تمامًا من الطول. يزور هذا الفهرس الأخير الصالح دون محاولة الوصول إلى فهرس خارج الحدود.
تُنفَّذ العبارات في هذا المقتطف داخل الدالة المتوفرة main.
uint256[3] memory values = [uint256(2), 5, 8];
uint256 total = 0;
for (uint256 i = 0; i < values.length; i++) {
total += values[i];
}
console.log(total);تزور الحلقة الفهارس صفرًا وواحدًا واثنين، فتضيف اثنين وخمسة وثمانية. سيحاول شرط <= length الشامل الوصول إلى الفهرس ثلاثة، وسيفشل التنفيذ. يجب أن يكون المجمِّع خارج الحلقة.
استخدم index < array.length لزيارة جميع الفهارس الصالحة دون تجاوز النهاية.
التحدي
سهلخزّن a و b و c في مصفوفة ذاكرة ثابتة الحجم. استخدم حلقة لحساب مجموعها وطباعته.
تمرّر الاختبارات الوسائط إلى main بهذا الترتيب: uint256 a، uint256 b، uint256 c. يبدأ كل اختبار بحالة عقد جديدة.
استخدم console.log للإخراج المطلوب. اطبع القيم المطلوبة فقط، قيمة واحدة في كل سطر، من دون تسميات إضافية ما لم تحدد المهمة ذلك.
جرّب بنفسك
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 a, uint256 b, uint256 c) external view {
// اكتب حلك هنا.
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات والأنواع
الأعداد الصحيحة غير الموقعةالمدخلات والمخرجاتالأعداد الصحيحة الموقعةالقيم المنطقيةالسلاسل النصية في الذاكرةبطاقة الملف الشخصي5الدوال
معاملات الدوالإرجاع القيمالدوال النقيةاستدعاءات الدوال المساعدةالحسابات القابلة لإعادة الاستخدام8المصفوفات
المصفوفات ثابتة الحجممصفوفات الذاكرة الديناميكيةمصفوفات التخزينالتكرار عبر المصفوفاتملخص المصفوفاتتدرّب بنفسك: Playground لـ Solidity