Перечисления

Последнее обновление: 29.04.2024

C

C++

C#

F#

Kotlin

Rust

C

#include >stdio.h>

enum day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

int main(void)
{
    enum day today;  // определяем переменную перечисления
    today = Thursday;   // присваиваем ей одну из констант перечисления
    printf("Today: %d\n", today);
}

C++

#include <iostream>
// определение
enum class Day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

int main()
{
    Day today {Day::Thursday};  // переменная перечисления
    // или так
    //Day today = Day::Thursday;
    // вывод на консоль
    std::cout << "Today: " << static_cast<int>(today) << std::endl;
}

C#

Day today  = Day.Thursday;  // переменная перечисления

// вывод на консоль
Console.WriteLine($"Today: {today}");

// определение
enum Day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};

F#

Отличительной чертой перечислений в F# является то, что им обязательно надо присвоить некоторые челочисленные значения:

// определение объединения
type Day = 
    | Monday = 1
    | Tuesday = 2
    | Wednesday = 3
    | Thursday = 4
    | Friday = 5
    | Saturday = 6
    | Sunday = 7

// переменная перечисления
let today = Day.Thursday
// вывод на консоль
printfn $"{today}"  // Thursday
// получаем числовое значение
printfn $"{int today}"  // 4

В F# также есть дискриминированные объединения, которые предоставляют похожую функциональность, только их не надо сопоставлять с числовыми значениями:

// определение объединения
type Day = 
    | Monday
    | Tuesday
    | Wednesday
    | Thursday
    | Friday
    | Saturday
    | Sunday

// переменная объединения
let today = Thursday
// вывод на консоль
printfn $"{today}"

Kotlin

enum class Day{
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
fun main() {
    val today: Day  // определяем переменную перечисления
    today = Day.THURSDAY  // присваиваем ей одну из констант перечисления
    println("Today: $today")
}

Rust

// определение
enum Day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}

fn main(){
  
    let today: Day;  // определяем переменную перечисления
    today = Day::Tuesday;  // присваиваем ей одну из констант перечисления
    println!("Today: {}", today as i32);
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850