diff options
Diffstat (limited to 'tests/examplefiles/example.ptls')
-rw-r--r-- | tests/examplefiles/example.ptls | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/examplefiles/example.ptls b/tests/examplefiles/example.ptls new file mode 100644 index 00000000..f3dc641a --- /dev/null +++ b/tests/examplefiles/example.ptls @@ -0,0 +1,30 @@ + +----------------------------------------------------------- +-- Print the lyrics to the song '99 bottles of beer' + +output = + range(99, 1) + |> map(showBeer) + |> printLines + +beerFmt = """{} of beer on the wall! +{} of beer! +You take one down, pass it around +{}""" + +showBeer(n) = + format( + beerFmt, + [showBottle(n), showBottle(n), nextBeer(n - 1)] + ) + +nextBeer(n) = + if n == 0 then "No more bottles of beer on the wall!" + else format("{} of beer on the wall!\n", [showBottle(n)]) + +----------------------------------------------------------- +-- Get appropriate singular / plural form of 'n bottle(s)' + +showBottle(n) = + format("{} {}", [n, bottleStr]) + where bottleStr = if n == 1 then "bottle" else "bottles" |