30 lines
574 B
Forth
30 lines
574 B
Forth
# Example program showing how multiple functions with the same name can
|
|
# coexist, and how we select between them.
|
|
#
|
|
# Expected output:
|
|
# 4
|
|
# 7
|
|
# 7
|
|
|
|
def test a:num -> b:num [
|
|
local-scope
|
|
load-inputs
|
|
b <- add a, 1
|
|
]
|
|
|
|
def test a:num, b:num -> c:num [
|
|
local-scope
|
|
load-inputs
|
|
c <- add a, b
|
|
]
|
|
|
|
def main [
|
|
local-scope
|
|
a:num <- test 3 # selects single-input version
|
|
$print a, 10/newline
|
|
b:num <- test 3, 4 # selects double-input version
|
|
$print b, 10/newline
|
|
c:num <- test 3, 4, 5 # prefers double- to single-input version
|
|
$print c, 10/newline
|
|
]
|