I read the help section, but I’m still not clear on what its purpose is.
it runs whatever you code put into it, or if you put a variable in it, runs the code inside the variable.

Note to self and help screen topic - maybe that block’s help text needs updating for clarity?
Note to self and help screen topic - maybe that block’s help text needs updating for clarity?
It’s hard to know how much to put in the help screen of a block that depends on an exotic underlying big idea. In this case, I’m guessing that the OP doesn’t understand first class scripts, which is to say, doesn’t understand gray rings.
I don’t think it’s a good idea to explain rings in the RUN help. But it might be okay to include the one sentence “see help for
(in the Operators category) for more details.” (In the hoped-for help system in the sky, the parenthetical phrase could be replaced by an active link to that help screen.)
But really one should learn the big ideas from the Reference Manual.
By the way, in case you are going to ask what (call (() @>) @> is, it is the equivalent of run () but for reporters, and returns the script’s return value.
it also still accepts command blocks
If the script will have a return value (from a report [] block), else error.
it will still run the blocks, just have an error at the end when it realizes it doesn’t have a return value.
I do think maybe a simpler example could’ve been included in the help screen - rather than just the one that involves a custom FOR loop (where the user has to get how the command is being passed from the c-shape into the custom definition and follow how it is being run), and then later on one that involves implicit slot parameters.
I guess so, but a totally trivial example doesn’t answer the question “what good is this?” whereas the FOR block is something they can’t do in their previous favorite programming language. ;~)
It also is how you run Javascript in snap!
