Functions
Functions in Nubo are first-class citizens. You can define, pass, and return them easily.
Defining Functions
Section titled “Defining Functions”fn greet(name: string) -> string { return "Hello, " + name + "!"}
Calling Functions
Section titled “Calling Functions”let message = greet("Martin")println(message) // Outputs: Hello, Martin!
Anonymous Functions
Section titled “Anonymous Functions”let add = fn(a: int, b: int) -> int { return a + b}
println(add(2, 3)) // Outputs: 5
Higher-Order Functions
Section titled “Higher-Order Functions”fn makeMultiplier(factor: int) -> fn(int) -> int { return fn(x: int) -> int { return x * factor }}
let double = makeMultiplier(2)print(double(5)) // Outputs: 10