Depolama Dizileri
Coddy'nin Solidity Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 38 / 53.
Sözleşme kapsamında bildirilen dinamik bir dizi depolamada yaşar. Bir öğe eklemek için push(value), son öğeyi kaldırmak için pop() kullanın. Boş bir dizi üzerinde pop çağrısı geri alınır. Değerler eklendikçe veya kaldırıldıkça uzunluğu değişir.
Bunu sözleşme kapsamında bildirin:
uint256[] values;Sağlanan main işlevinin içinde kullanın:
values.push(6);
values.push(15);
values.pop();
console.log(values.length);
console.log(values[0]);Dizi bu testte boş başlar. İki push iki öğe oluşturur ve pop ikincisini kaldırır. İlki altı olarak kalır. Bir storage dizisini güncellemek sözleşme durumunu değiştirir; bu nedenle main view olamaz.
push ve pop, dinamik bir storage dizisini sonundan değiştirir.
Görev
Kolayvalues adlı dinamik bir uint256 depolama dizisi tanımlayın. a, b ve c değerlerini ekleyin, son öğeyi kaldırın, ardından uzunluğu ve kalan son değeri yazdırın.
Testler, main işlevine bağımsız değişkenleri şu sırayla aktarır: uint256 a, uint256 b, uint256 c. Her test yeni bir sözleşme durumuyla başlar.
İstenen çıktıyı almak için console.log kullanın. Yalnızca istenen değerleri, her satıra bir tane gelecek şekilde yazdırın; görev bunları belirtmedikçe ek etiket kullanmayın.
Kendin dene
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 a, uint256 b, uint256 c) 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 Hesaplamalar8Diziler
Sabit Boyutlu DizilerDinamik Bellek DizileriDepolama DizileriDiziler Üzerinde DöngüDizi ÖzetiKendi başına pratik yap: Solidity playground