m (Procedures in Scratch: Correcting verb tenses in page)
m (redirected instead of deleting)
(51 intermediate revisions by 24 users not shown)
Line 1: Line 1:
#REDIRECT [[My Blocks]]
'''Procedures''', also called ''functions'' or ''methods'', are a tool in many programming languages, which allow common blocks of code to be grouped and called by a single name. [[Blocks]] in Scratch are procedures themselves, as they are blocks of compiled code executed all at once. Procedures have inputs or [[argument]]s, which are used to edit the procedure's effect slightly. For example, the "move (10) steps" block has the numerical argument (the bracketed bit) which specifies the distance to be moved: 10 pixels in this case.
==Procedures in Scratch==
[[File:Jump Block.png|thumb|A "jump" procedure {{-}} Scratch pre-alpha at Scratch Day 2011.]][[File:Jump block with insert.png|thumb|A "jump" procedure with an argument {{-}} Scratch pre-alpha at Scratch Day 2011.]]
[[File:Scratch-2.0-factorial-script.png|thumb|Recursive factorial procedure {{-}} Scratch 2.0 alpha.]]
Procedures have been added in [[Scratch 2.0]].<ref>http://blog.scratch.mit.edu/2011/03/scratch-20-progress-report-create-your.html</ref> There is a "[[More Blocks]]" palette, where procedures in the project are stored.<ref>http://blog.scratch.mit.edu/2012/02/scratch-20-project-page-and-project.html</ref> This palette also houses a "make a block" button, similar to the "make a variable/list" buttons in [[Data Blocks]]. After naming and adding arguments, a [[Define () (block)|Define]] block is created. For each Define block (whether from the make a block button, or by dragging in from the [[backpack]] or another sprite), a [[() (Custom block)|() block]] is created in the palette. The procedures are available to the sprite with the Define block.<ref>http://scratch.mit.edu/forums/viewtopic.php?pid=719181#p719181</ref> Procedures in Scratch 2.0 are only [[Stack Blocks]], not Reporter or Boolean block styles, and support [[Recursion|recursion]]. Procedures take [[arguments]] of [[strings]], numbers, and [[Boolean]]s. Reporter or boolean procedures will not be available in Scratch 2.0, but may be in future versions.<ref>http://scratched.media.mit.edu/discussions/scratch-20/custom-block-types</ref> Procedures will run [[atomicity|atomically]].
==Procedures in [[BYOB]]/Snap!==
[[Snap!]], previously called BYOB (Build Your Own Blocks), is a [[Scratch modification]] that allows procedures. Snap!'s procedures allow all 3 types of blocks, with arguments, and also recursion.
==Procedures in [[Squeak]]==
{{main|Squeak Tutorial#Methods}}
Procedures in Squeak are called methods.
[[Category:Scratch Program]]
[[Category:Scratch 2.0]]
[[Category:More Blocks]]

Latest revision as of 17:25, 6 January 2019

Redirect to: