A couple questions about a few things

I have a few questions about a few mechanics in Snap (I'm very familiar with Scratch, in case that helps).
I'm not quite familiar with the rules when it comes to the forums, so if asking multiple questions per thread isn't something I should do then let me know.

  1. What does the warp block do? (control)
  2. What does the inherit block do? (variables)
  3. What do the rings do that you can put around the different block types? Do they call that function? (operators, maybe other places)
    Thanks for answering!

To add on, is there a way to speed up code like there is with Scratch's custom blocks and it's run without screen refresh option? Or is that not a thing in Snap because all custom blocks have to run like regular blocks?

Warp is the same effect as run without screen refresh. (make an atomic block by putting a warp around all of the code)

Inherit deletes the attribute so that get or set will effect the parent.

Rings create functions. A ring with a block in it returns the same ring. Calling it with the run or call block runs the ring as if both ring and call block were not there.

Snap! can be created in your signature as Snap<i>!</i>.

1 Like

Thank you! This information is going to be useful.

Hi! Welcome to Snap!.

You can shift-click the green flag for turbo mode, as in Scratch. The WARP block is even more specific, allowing only the one thread to run.

You rarely need to use the gray rings explicitly. The cases where you need them -- the higher-order functions -- have them built in.

Each item in the list is used individually to fill the empty space in the function ( )+3.

You need explicit rings if, for example, you're trying to make a list of functions. The LIST function takes any input type, not just functions, so it doesn't have a built-in ring.

That is also very handy info! I use and modify items on lists a lot, so this is an exciting block to know about.

1 Like

You can read the Snap! manual. Everything's in there.