lang: Add more tests for function

This commit is contained in:
James Shubin
2019-07-20 22:27:21 -04:00
parent b3f15e1ddc
commit 3651ab5c0c
8 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
Vertex: test[sq1: 13]
Vertex: test[sq2: 42]

View File

@@ -0,0 +1,17 @@
import "fmt"
# function statement
func sq1($x, $y) {
$y + $x * $x
}
# function expression
$sq2 = func($x, $y) {
$y + $x * $x
}
$x1 = sq1(3, 4) # 3^2 + 4 = 13
$x2 = $sq2(7, -7) # 7^2 + 2 = 42
test fmt.printf("sq1: %d", $x1) {}
test fmt.printf("sq2: %d", $x2) {}

View File

@@ -0,0 +1 @@
Vertex: test[hello world]

View File

@@ -0,0 +1,5 @@
$foo = "bad1"
func bar($foo) {
"hello " + $foo # shadows parent var
}
test bar("world") {}

View File

@@ -0,0 +1 @@
Vertex: test[hello world]

View File

@@ -0,0 +1,5 @@
$foo = "bad1"
$bar = func($foo) {
"hello " + $foo # shadows parent var
}
test $bar("world") {}

View File

@@ -0,0 +1 @@
# err: err3: expected: Func, got: Int

View File

@@ -0,0 +1,10 @@
import "fmt"
# function expression
$notfn = 42
$x = $notfn(7)
print "msg" {
msg => fmt.printf("notfn: %d", $x),
}