Циклы по массивам
Часть раздела Основы путешествия по 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Массивы
Массивы фиксированного размераМассивы в динамической памятиМассивы храненияЦиклы по массивамИтоги по массивамПотренируйтесь самостоятельно: Песочница Solidity