Enum'lar
Coddy'nin Solidity Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 44 / 53.
Bir enum, adlandırılmış seçeneklerden oluşan küçük bir küme tanımlar. Üyelerini sırayla bildirin, ardından bir üyeye TypeName.MemberName olarak başvurun. İlk üyenin sayısal değeri sıfırdır, sonraki üyenin değeri birdir ve bu şekilde devam eder. Adlandırılmış seçenekler, bir durumu açıklanmayan sayılara göre okumayı kolaylaştırır.
Bunu sözleşme kapsamında bildirin:
enum Phase { Waiting, Packing, Complete }Sağlanan main işlevinin içinde kullanın:
Phase phase = Phase.Packing;
console.log(uint256(phase));Bildirim, Waiting, Packing ve Complete üyelerini listeler. Packing ikinci üyedir ve bu nedenle bire dönüşür. Keyfi bir sayıyı enum türüne dönüştürmek, sayı tanımlı aralığının dışındaysa geri dönebilir; bu nedenle burada adlandırılmış üyeleri kullanın.
Enum üyeleri, bildirim sırasına göre sıfırdan başlayan sayısal değerlere sahiptir.
Görev
KolayIdle, Running ve Finished değerleriyle, bu sırayı koruyarak Mode enum'ını tanımla. active true olduğunda Running'i, aksi takdirde Idle'ı seç ve sayısal değeri yazdır.
Testler main işlevine bağımsız değişkenleri şu sırayla iletir: bool active. Her test, sözleşme durumuyla başlar.
İstenen çıktı için console.log kullan. İstenen değerleri, görev bunları belirtmedikçe ek etiket olmadan, her satıra bir değer gelecek şekilde yazdır.
Kendin dene
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(bool active) external view {
// Çö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