Menu
Coddy logo textTech

Eşlemeler

Coddy'nin Solidity Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 42 / 53.

Bir eşleme, depolama alanındaki anahtarları değerlerle ilişkilendirir. Sözleşme kapsamında mapping(keyType => valueType) bildirin ve bir anahtarı okumak veya yazmak için köşeli parantezleri kullanın. Yazılmamış bir anahtar, valueType türünün varsayılan değerini döndürür; örneğin uint256 için sıfır.

Bunu sözleşme kapsamında bildirin:

mapping(uint256 => uint256) points;

Bunu sağlanan main işlevinin içinde kullanın:

points[4] = 18;
console.log(points[4]);
console.log(points[5]);

Atama yalnızca dört numaralı anahtarı değiştirir. Beş numaralı anahtara hiçbir zaman atama yapılmamıştır ve değeri sıfır olarak okunur. Bir mapping, uzunluk veya anahtarlarının yerleşik bir listesini sağlamaz; bir uygulamanın yineleme yapması gerekiyorsa anahtarları ayrıca takip edin.

Yazılmamış bir mapping anahtarı, değer türünün varsayılan değeri olarak okunur.

challenge icon

Görev

Kolay

scores adında, uint256 anahtarlarından uint256 değerlerine bir eşleme tanımlayın. player anahtarına points değerini atayın, ardından scores[player] ve scores[player + 1] değerlerini yazdırın.

Testler, main işlevine bağımsız değişkenleri şu sırayla iletir: uint256 player, uint256 points. Her test, sözleşme durumunu sıfırdan başlatır.

İstenen çıktıyı almak için console.log kullanın. İstenen değerleri, görevde belirtilmediği sürece ek etiketler olmadan, satır başına bir değer olacak şekilde yazdırın.

Kendin dene

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 player, uint256 points) external  {
        // Çözümünüzü buraya yazın.
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Solidity playground