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.
Görev
Kolayscores 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.
}
}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
2Değişkenler ve Türler
İşaretsiz TamsayılarGirdiler ve Çıktılarİşaretli TamsayılarBoolean DeğerleriBellekte DizelerProfil Kartı5Fonksiyonlar
Fonksiyon ParametreleriDeğer DöndürmeSaf FonksiyonlarYardımcı ÇağrılarıYeniden Kullanılabilir HesaplamalarKendi başına pratik yap: Solidity playground