Mode:
Duration:
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
26
27
28
29
Object subclass: Counter [
| count isDark |
Counter class >> new [ ^ super new initialize ]
initialize [
count := 0.
isDark := false.
self updateUI.
]
updateUI [
Transcript show: 'Counter: ', count printString; cr.
Transcript show: 'Theme: ', (isDark ifTrue: ['Dark'] ifFalse: ['Light']); cr.
]
increment [ count := count + 1. self updateUI ]
decrement [ count := count - 1. self updateUI ]
reset [ count := 0. self updateUI ]
toggleTheme [ isDark := isDark not. self updateUI ]
]
| counter |
counter := Counter new.
counter increment.
counter increment.
counter toggleTheme.
counter decrement.
counter reset.Coding works best on desktop or with an external keyboard.