AI Reading
Quick summary of this article
Preparing the AI summary…
Runes and Enumeration
In Dart, runes and enumerations are both useful constructs, albeit quite different. Let’s explore each of them with examples:
1. Runes
What are Runes?
Runes represent Unicode scalar values in Dart, which allow you to work with individual characters beyond the basic ASCII range.
Example:
Here’s how you can use runes in Dart:
void main() {
// Define a rune for the heart symbol ❤ (Unicode: U+2764)
var heartRune = '\u2764';
// Output the rune and its code point
print('Heart Rune: $heartRune');
print('Heart Rune Code Unit: ${heartRune.runes.single}');
// Accessing individual code units (runes) in a string
var coffee = '☕';
print('Coffee Rune: $coffee');
print('Coffee Rune Code Units: ${coffee.runes.toList()}');
}
void main() {
final c1 = '\u{1F9F6}';
final c2 = '\u{1FA86}';
final c3 = '\u26C4';
final c4 = '\u{1F37A}';
print(c1);
print(c2);
print(c3);
print(c4);
print(c3.codeUnits);
print(c4.codeUnits);
}
2. Enumerations (Enums)
What are Enums?
Enums (short for enumerations) in Dart are a way to define a collection of constants, often used to represent a fixed number of possible states or choices.
Example:
Here’s how you can define and use enums in Dart:
// Define an enum for different days of the week
enum Day {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
void main() {
// Using enums to declare variables
Day today = Day.Wednesday;
// Switch statement using enums
switch (today) {
case Day.Monday:
print('It\'s Monday!');
break;
case Day.Wednesday:
print('It\'s Wednesday!');
break;
case Day.Friday:
print('It\'s Friday!');
break;
default:
print('It\'s neither Monday, Wednesday, nor Friday.');
}
}
Enums are for defining a fixed set of related constants, whereas lists are for managing ordered collections of items.
