Learn NIM with Real Code Examples
Updated Nov 20, 2025
Code Sample Descriptions
1
Nim Counter and Theme Toggle
var count = 0
var isDark = false
proc updateUI() =
echo "Counter: ", count
echo "Theme: ", if isDark: "Dark" else: "Light"
proc increment() =
count += 1
updateUI()
proc decrement() =
count -= 1
updateUI()
proc reset() =
count = 0
updateUI()
proc toggleTheme() =
isDark = not isDark
updateUI()
# Simulate actions
updateUI()
increment()
increment()
toggleTheme()
decrement()
reset()
Demonstrates a simple counter with theme toggling using Nim variables and console output.
2
Nim Simple Addition
proc add(a, b: int): int = a + b
echo add(10, 20)
Adds two numbers and prints the result.
3
Nim Factorial
proc factorial(n: int): int =
if n <= 1: return 1
n * factorial(n - 1)
echo factorial(5)
Calculates factorial recursively.
4
Nim Fibonacci Sequence
proc fib(n: int): int =
if n < 2: return n
fib(n - 1) + fib(n - 2)
for i in 0..9:
echo fib(i)
Generates first 10 Fibonacci numbers.
5
Nim Max of Two Numbers
proc max(a, b: int): int = if a > b: a else: b
echo max(10, 20)
Finds the maximum of two numbers.
6
Nim List Sum
let arr = @[1,2,3,4,5]
echo arr.fold(0, proc(x, y: int): int = x + y)
Sums elements of a sequence.
7
Nim Even Numbers Filter
let arr = @[1,2,3,4,5]
for x in arr:
if x mod 2 == 0: echo x
Prints even numbers from an array.
8
Nim Conditional Counter Increment
var count = 3
if count < 5: count += 1
echo count
Increment counter only if less than 5.
9
Nim Resettable Counter
var count = 0
count += 1
count += 1
echo count
count = 0
echo count
Counter that increments and can be reset.
10
Nim Theme Toggle Only
var isDark = false
echo if isDark: "Dark" else: "Light"
isDark = not isDark
echo if isDark: "Dark" else: "Light"
isDark = not isDark
echo if isDark: "Dark" else: "Light"
Toggles theme multiple times.