print
for i:=0; then i=i+1; while i < 5:
- switch i:
- case 0: num:="zero"
- case 1: num:="one"
- case 2: num:="two"
- case 3: num:="three"
- else num:="many"
+ switch { use i }
+ case 0: num:="zero" ;
+ case 1: num:="one" ;
+ case 2 { num:="two" } case 3 { num:="three" }
+ else num:="many"
// re-declare a CondScope variable
num := i*i
print num,", ",
active:Boolean = True
struct baz { a:number; b:Boolean; }
+ struct bat {
+ a:string
+ b:Boolean
+ }
+ struct bat2 a:string; b:Boolean
func main
do
for i:=0; then i=i+1; while i < 4:
print info[i].name, info[i].active, info[i].size[0]
info[0].thing.b = True
+ x:bat
+ x.a = "Hello"
###### output: structs
angular := to_polar(32, 23)
print angular.rho, angular.theta
+ func test2(n:number; s:string;) : (ret:number)
+ ret = n + $s
+
+ func random
+ return
+ n:number
+ do
+ n = 4 // xkcd:221
+
+ // exercise the parsing options
+ func t1 (a:number) {
+ print "t1"
+ }
+ func t2 (a:string) {print "string"}
+ func t3() print "t3"
+
###### output: functions
done
1 done