Menu
Coddy logo textTech

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.

challenge icon

Görev

Kolay

Idle, 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.
    }
}
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