|
|
|
|
|
by kaoD
969 days ago
|
|
> For example "[", "[F", "[[F", etc. are valid CFR[] inputs. Are those different from just "F"? If not, even if those are technically valid syntax, op's explanation seems clearer. I was confused by the README definition too and came to op's conclusion after experimenting for a while. If they are not equivalent to just "F" I still don't get the distinction so the README definition is not very good considering it confused at least both op and me. (This is meant as constructive criticism, I'm having a lot of fun playing with this.) |
|
Between "[F" and "[[F", there is no visual difference. The command "[" is a control flow command that does not alter the state of the canvas or the invisible turtle. Instead it merely marks the current position in the code as the beginning of a block. The execution continues normally after "[" regardless of whether there is a corresponding closing "]" or not. However, if a corresponding "]" is found, then the execution jumps back to the corresponding "[" and executes the enclosed block once more. This produces the effect of a loop that executes twice. For most drawing purposes the code bounded by "[" and "]" indeed behaves like a loop that executes twice.
I have updated the README to make this clearer. However, I am open to improving the README further if there are better suggestions. Pull requests are welcome too.