mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-25 02:49:32 +01:00
86 lines
1.6 KiB
Plaintext
86 lines
1.6 KiB
Plaintext
print('-- test functions --')
|
|
|
|
fn add(a, b) {
|
|
return a + b
|
|
}
|
|
print(add)
|
|
|
|
fn add2(a, b) {
|
|
let c := a + b
|
|
return c
|
|
}
|
|
print(add2)
|
|
|
|
fn mult(a, b) {
|
|
return a * b
|
|
}
|
|
print(mult)
|
|
|
|
fn noArgs() {
|
|
let url := 'basdfasdf'
|
|
let second := 2 + 3
|
|
return second
|
|
}
|
|
print(noArgs)
|
|
|
|
fn empty() {}
|
|
fn empty2() {}
|
|
fn empty3() {}
|
|
fn noReturn() {
|
|
let a := 1
|
|
let b := 2
|
|
let c := a + b
|
|
}
|
|
fn emptyReturn() {
|
|
return
|
|
}
|
|
fn emptyReturnBeforeOtherStuff() {
|
|
return
|
|
; 2 + 2
|
|
}
|
|
fn emptyReturnBeforeOtherStuffNoSemicolon() {
|
|
// This will return 4 because whitespace is omitted
|
|
return
|
|
2 + 2
|
|
}
|
|
fn ifThenReturn() {
|
|
// make sure this is not a placeholder {return}
|
|
if (false) {
|
|
return
|
|
}
|
|
return 4
|
|
}
|
|
|
|
print(add(3, 4))
|
|
print(add(3, 4) + 100 + add(1, 1))
|
|
print(noArgs() ?? -1)
|
|
print(empty() ?? -1)
|
|
print(empty2() ?? -1)
|
|
print(empty3() ?? -1)
|
|
print(noReturn() ?? -1)
|
|
print(emptyReturn() ?? -1)
|
|
print(emptyReturnBeforeOtherStuff() ?? -1)
|
|
print(emptyReturnBeforeOtherStuffNoSemicolon() ?? -1)
|
|
print(ifThenReturn() ?? -1)
|
|
|
|
print(mult(add(3, 4) + 100 + add(2, 1), 2))
|
|
print(mult(add2(3, 4) + 100 + add2(2, 1), 10))
|
|
|
|
// Call functions with different argument counts
|
|
|
|
fn printArgs(arg1, arg2, arg3, arg4, arg5, arg6, arg7) {
|
|
print(arg1, arg2, arg3, arg4, arg5, arg6, arg7)
|
|
}
|
|
|
|
let printArgs2 := (arg1, arg2, arg3, arg4, arg5, arg6, arg7) -> {
|
|
print(arg1, arg2, arg3, arg4, arg5, arg6, arg7)
|
|
}
|
|
|
|
printArgs(1, 2, 3, 4, 5, 6, 7)
|
|
printArgs2(1, 2, 3, 4, 5, 6, 7)
|
|
printArgs(1, 2, 3, 4, 5, 6)
|
|
printArgs2(1, 2, 3, 4, 5, 6)
|
|
printArgs(1, 2, 3, 4, 5)
|
|
printArgs2(1, 2, 3, 4, 5)
|
|
printArgs()
|
|
printArgs2() |