blob: 5bfd3631f9e4a5c0da6eec9898d6ca9e97534bdb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
pub fun main() ! Io -> Unit {
val one = Count(1).message;
val two = Count(2).message;
val three = Count(3).message;
print!(one("apple", .exclaim = false));
print!(two("bananas", .exclaim = false));
print!(three("coconuts", .exclaim = true));
}
struct Count(value: Int) {
fun message(this, noun: String, .exclaim: Bool) -> String {
val prefix = if (this.value == 1) {
"one"
} else if (this.value == 2) {
"two"
} else {
"many"
};
val exclamation = if (exclaim) { "!" } else { "" };
prefix + " " + noun + exclamation + "\n"
}
}
|