Цепочки Else If
Часть раздела Основы путешествия по Solidity на Coddy. Урок 19 из 53.
Используйте цепочку else if, когда вариантов больше двух категорий. Условия проверяются сверху вниз. Выполняется первая подходящая ветвь, а остальные ветви в этой цепочке пропускаются.
Инструкции в этом фрагменте выполняются внутри предоставленной функции main.
uint256 size = 14;
if (size < 10) {
console.log("small");
} else if (size < 20) {
console.log("medium");
} else {
console.log("large");
}Число четырнадцать не проходит первую проверку и проходит вторую. Вторая ветвь уже знает, что size не меньше десяти, потому что переход к ней означает, что предыдущее условие было ложным. Располагайте диапазоны так, чтобы более широкое раннее условие не скрывало последующий случай.
Цепочка else-if останавливается после первой совпавшей ветви.
Задание
ЛегкоКлассифицируйте points: при значении меньше 40 выведите bronze, от 40 до 79 включительно — silver, а при значении 80 или больше — gold.
Тесты передают аргументы в main в следующем порядке: uint256 points. Каждый тест начинается с нового состояния контракта.
Используйте console.log для требуемого вывода. Выводите только требуемые значения, по одному в строке, без дополнительных меток, если только это не указано в задании.
Попробуйте сами
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 points) external view {
// Напишите ваше решение здесь.
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные и типы
Беззнаковые целые числаВвод и выводЗнаковые целые числаЛогические значенияСтроки в памятиКарточка профиля5Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисленияПотренируйтесь самостоятельно: Песочница Solidity