ludus-scripts/ngon.ld

34 lines
769 B
Plaintext
Raw Normal View History

2024-06-11 21:37:04 +00:00
& Lesson 10: ngons
& Recall our first function:
fn simple_box! () -> { fd! (100); rt! (0.25) }
& Recall our second function:
fn box! (size) -> { fd! (size); rt! (0.25) }
& What haven't we "parameterized" yet?
fn ngon! (n, size) -> repeat n { fd! (size); rt! (div (1, n)) }
& ^ ^^^^^^^^^^
& Note n: what does this represent?
& What does `div (1, n)` mean here?
& Why is it here?
& Note: we could also have used `inv (n)`--inverse is 1/x
& What other math can we do?
& cf. https://alea.ludus.dev/twc/ludus/src/branch/main/prelude.md#math
& What happens when you pass in strange values? 0? 1? 2?
& Note `div` does not end in a bang.
& This differentiates between functions with side effects vs. return values.