Transfers
C
C++
C#
F#
Kotlin
Rust
C
C
#include <stdio.h>
enum day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
int main(void)
{
enum day today; // define an enumeration variable
today = Thursday; // assign one of the enumeration constants to it
printf("Today: %d\n", today);
}
C++
C++
#include <iostream>
// definition
enum class Day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
int main()
{
Day today {Day::Thursday}; // enumeration variable
// or like this
// Day today = Day::Thursday;
// console output
std::cout << "Today: " << static_cast<int>(today) << std::endl;
}
C#
C#
Day today = Day.Thursday; // enumeration variable
// console output
Console.WriteLine($"Today: {today}");
// definition
enum Day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
F#
A distinctive feature of enumerations in F# is that they must be assigned integer values:
F#
// enum definition
type Day =
| Monday = 1
| Tuesday = 2
| Wednesday = 3
| Thursday = 4
| Friday = 5
| Saturday = 6
| Sunday = 7
// enumeration variable
let today = Day.Thursday
// console output
printfn $"{today}" // Thursday
// get the numeric value
printfn $"{int today}" // 4
F# also has discriminated unions, which provide similar functionality, except they don’t need to be mapped to numeric values:
F#
// union definition
type Day =
| Monday
| Tuesday
| Wednesday
| Thursday
| Friday
| Saturday
| Sunday
// union variable
let today = Thursday
// console output
printfn $"{today}"
Kotlin
Kotlin
enum class Day{
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
fun main() {
val today: Day // define an enumeration variable
today = Day.THURSDAY // assign one of the enumeration constants to it
println("Today: $today")
}
Rust
Rust
// definition
enum Day {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}
fn main(){
let today: Day; // define an enumeration variable
today = Day::Tuesday; // assign one of the enumeration constants to it
println!("Today: {}", today as i32);
}
Next