Отображения
Часть раздела Основы путешествия по Solidity на Coddy. Урок 42 из 53.
Отображение сопоставляет ключи со значениями в хранилище. Объявите mapping(keyType => valueType) на уровне контракта и используйте квадратные скобки для чтения или записи ключа. Для ключа, который не был записан, возвращается значение по умолчанию для типа значения, например ноль для uint256.
Объявите это на уровне контракта:
mapping(uint256 => uint256) points;Используйте это внутри предоставленной функции main:
points[4] = 18;
console.log(points[4]);
console.log(points[5]);Задание изменяет только ключ четыре. Ключу пять никогда не присваивалось значение, поэтому он читается как ноль. Отображение не предоставляет длину или встроенный список своих ключей; если приложению требуется перебор, отслеживайте ключи отдельно.
Незаписанный ключ отображения читается как значение по умолчанию для его типа значения.
Задание
ЛегкоОбъявите отображение от ключей uint256 к значениям uint256 с именем scores. Присвойте points ключу player, затем выведите scores[player] и scores[player + 1].
Тесты передают аргументы в main в следующем порядке: uint256 player, uint256 points. Каждый тест начинается с нового состояния контракта.
Используйте console.log для требуемого вывода. Выведите только требуемые значения, по одному в строке, без дополнительных меток, если только в задании они явно не указаны.
Попробуйте сами
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 player, uint256 points) external {
// Напишите ваше решение здесь.
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
2Переменные и типы
Беззнаковые целые числаВвод и выводЗнаковые целые числаЛогические значенияСтроки в памятиКарточка профиля5Функции
Параметры функцийВозврат значенийЧистые функцииВызовы вспомогательных функцийПовторно используемые вычисленияПотренируйтесь самостоятельно: Песочница Solidity