From 09a8a96664fadbc2933024910b95526f7d66843f Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Thu, 4 Jan 2024 20:06:40 +0000 Subject: More content! --- .../chapter0_basics/lesson13_blocks/text.html | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/content/chapter0_basics/lesson13_blocks/text.html (limited to 'src/content/chapter0_basics/lesson13_blocks/text.html') diff --git a/src/content/chapter0_basics/lesson13_blocks/text.html b/src/content/chapter0_basics/lesson13_blocks/text.html new file mode 100644 index 0000000..bc82e39 --- /dev/null +++ b/src/content/chapter0_basics/lesson13_blocks/text.html @@ -0,0 +1,23 @@ +

+ Blocks are one or more expressions grouped together with curly braces. Each + expression is evaluated in order and the value of the last expression is + returned. +

+

+ Any variables assigned within the block can only be used within the block. +

+

+ Try uncommenting io.debug(degrees) to see the compile error from + trying to use a variable that is not in scope. +

+

+ Blocks can also be used to change the order of evaluation of binary operators + expressions. +

+

+ * binds more tightly than + so the expression + 1 + 2 * 3 evaluates to 7. If the 1 + 2 should be + evaluated first to make the expression evaluate to 9 then the expression can be + wrapped in a block: { 1 + 2 } * 3. This is similar to grouping + with parentheses in some other languages. +

-- cgit v1.2.3