What is the difference between... uh, I need to show you

untitled script pic (24)
untitled script pic (25)

The first one can take inputs, the second one can't.
The first one can be any expression, the second one can't.

the difference between a command ring and a C-slot is that the C-slot is better suited for longer block stacks, and that you can't write formal parameters in the C-slot.

the second one can. You can drop a reporter in the c-shape (in custom blocks, not primitives).

There's a pedagogic difference: The command ring makes explicit the fact that what's inside it is a reified script. (That's true for a C-shaped slot, too, but they don't rub your nose in it.) But the C-shaped slot has a meaning that's instantly obvious to new users (one of the brilliant pieces of the Scratch visual design).

Since primitives with C-slots don't let you drop a variable onto the slot (a misfeature imho but never mind...), we have to use a command ring in the RUN block and friends (e.g. TELL) because it's more common to want to use a variable as the argument than to have an explicit script. (Well, definitely more common for RUN. For TELL I don't know which is more common, but at least using a variable is pretty common.)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.