docs(examples): add reusable library modules

This commit is contained in:
dualfroz committed 2026-08-28 19:15:00 +02:00
1 parent f72f9d0c29
commit 36229f90ad
2 files changed
+72

No files matched your search

+40
View File
@@ -0,0 +1,40 @@
// Numeric helpers built on the math builtins.
fn factorial(n) {
var product = 1
var i = 2
while (i <= n) {
product = product * i
i = i + 1
}
return product
}
fn gcd(a, b) {
var x = abs(a)
var y = abs(b)
while (y != 0) {
let remainder = x % y
x = y
y = remainder
}
return x
}
fn clamp(value, low, high) {
return max(low, min(value, high))
}
fn isPrime(n) {
if (n < 2) {
return false
}
var divisor = 2
while (divisor * divisor <= n) {
if (n % divisor == 0) {
return false
}
divisor = divisor + 1
}
return true
}
+32
View File
@@ -0,0 +1,32 @@
// Text helpers built on the standard string methods.
fn capitalize(text) {
if (text.len() == 0) {
return text
}
let head = text.substring(0, 1).upper()
let rest = text.substring(1, text.len())
return head + rest
}
fn repeat(text, times) {
var joined = ""
var i = 0
while (i < times) {
joined = joined + text
i = i + 1
}
return joined
}
fn padLeft(text, width, filler) {
var padded = text
while (padded.len() < width) {
padded = filler + padded
}
return padded
}
fn trimAll(parts) {
return parts.map(fn(part) { return part.trim() })
}