Break и Continue
Часть раздела Основы путешествия по Solidity на Coddy. Урок 34 из 53.
Внутри цикла break немедленно выходит из цикла. continue пропускает оставшуюся часть текущей итерации и переходит к следующей итерации. В цикле for выражение обновления всё равно выполняется после continue.
Инструкции в этом фрагменте выполняются внутри предоставленной функции main.
for (uint256 i = 1; i <= 5; i++) {
if (i == 2) { continue; }
if (i == 4) { break; }
console.log(i);
}Вторая итерация пропускает вывод. Четвёртая завершается до вывода, поэтому до пяти выполнение никогда не доходит. break и continue влияют на ближайший охватывающий цикл, а не на каждую функцию в контракте.
break завершает ближайший цикл; continue пропускает оставшуюся часть текущей итерации.
Задание
ЛегкоВыведите целые числа от 1 до n, пропуская указанное значение banned, затем выведите done. n не больше 8, а banned находится в диапазоне от 1 до 10.
Тесты передают аргументы в main в таком порядке: uint256 n, uint256 banned. Каждый тест начинается с нового состояния контракта.
Используйте console.log для требуемого вывода. Выводите только требуемые значения, по одному в строке, без дополнительных подписей, если только задача явно их не требует.
Попробуйте сами
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n, uint256 banned) external view {
// Напишите ваше решение здесь.
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные и типы
Беззнаковые целые числаВвод и выводЗнаковые целые числаЛогические значенияСтроки в памятиКарточка профиля5Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисленияПотренируйтесь самостоятельно: Песочница Solidity