最終更新 1759255931

An example of adding basic variable bindings and binary math expressions to Nova.

variables.nv Raw Playground
1||:: foo = bar
2 :: bar = baz
3 :: baz = 2
4 :: quux = foo
5 :: baz = bar + foo
6 :: baz = baz + quux
7 :: baz = baz + baz
8
9
10||:@include: lib/rpn.nv
11
12|:: $x = $y $op $z :@rpn data: $|
13 :: $x = $
14|:: $x = $y $op $z? :unbound: ($z $y)| :@rpn: ($y $z $op)
15
16|:: $x = $y $op $z :variable: $y $|
17 :: $x = $ $op $z
18|:: $x = $y $op $z? :unbound: $y|
19
20|:: $x = $y $op $z :variable: $z $|
21 :: $x = $y $op $
22|:: $x = $y $op $z? :unbound: $z|
23
24|:: $x = $y $op $z?|
25 :: get $y
26 :: get $z
27
28|:: $x = $y :unbound: $y|
29 :: set $x to $y
30|:: $x = $y :variable: $y $|
31 :: $x = $
32|:: $x = $y?|
33 :: get $y
34
35|:: get $x :variables: $x $y?|
36 :variable: $x $y
37 :: reset variables
38|:: get $x? :variables: $ $y|
39 :skipped: $ $y
40|:: get $x|
41 :unbound: $x
42 :: reset variables
43
44|:: set $x to $y :variables: $x $|
45 :variables: $x $y
46 :: reset variables
47|:: set $x to $y? :variables: $n $|
48 :skipped: $n $
49|:: set $x to $y|
50 :variables: $x $y
51 :: reset variables
52
53|:: reset variables? :skipped: $x $y|
54 :variables: $x $y
55|:: reset variables|
56
57|:: clear variables? :variables: $x $y|
58|:: clear variables|