Возврат значений
Часть раздела Основы путешествия по Solidity на Coddy. Урок 22 из 53.
Функция может вычислить результат, не выводя его. Объявите тип результата с помощью returns, затем используйте return внутри тела. Вызывающий код может сохранить возвращённое значение и использовать его в более крупном выражении. Возврат значения и его вывод — это отдельные действия.
Определите этот вспомогательный элемент внутри контракта:
function doubled(uint256 n) internal pure returns (uint256) {
return n * 2;
}Используйте его внутри предоставленной функции main:
uint256 value = doubled(9);
console.log(value + 1);Вспомогательная функция возвращает восемнадцать. Вызывающий код добавляет единицу и выводит девятнадцать. Инструкция return завершает текущий вызов функции, поэтому обычные инструкции после безусловного return не могут повлиять на этот вызов.
Возвращаемое значение можно сохранить или использовать в вызывающем коде, не выводя его с помощью вспомогательной функции.
Задание
ЛегкоНапишите внутреннюю чистую вспомогательную функцию с именем square, которая возвращает n, умноженное на n. В main сохраните результат square(side) в переменной и выведите его.
Тесты передают аргументы в main в следующем порядке: uint256 side. Каждый тест начинается с нового состояния контракта.
Используйте console.log для требуемого вывода. Выводите только требуемые значения, по одному в строке, без дополнительных меток, если только задача явно их не требует.
Попробуйте сами
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 side) external view {
// Напишите ваше решение здесь.
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные и типы
Беззнаковые целые числаВвод и выводЗнаковые целые числаЛогические значенияСтроки в памятиКарточка профиля5Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисленияПотренируйтесь самостоятельно: Песочница Solidity