A reporter block is a block that reports a value. These can be anything, from numbers to strings. Unlike a stack block, which changes something on the Stage, plays a sound, stops the script, or changes a variable, reporter blocks cannot be placed directly above or below another block. Instead, they are dropped into a number, text, or drop-down input; then when Scratch runs the block into which the reporter block has been dropped, it will first run the reporter block to find the value of the input. Reporter blocks can have inputs too, which may themselves be other reporter blocks. Boolean Blocks are a special kind of reporter block that reports either "true" or "false".
To quickly view the value of a reporter, simply click it in the editor and Scratch will display the value in a small bubble.
This is an example of a Reporter Block:
As reporter blocks report values, they are designed to fit wherever a value is needed. This can be anywhere: many blocks have spaces (parameters) within them or drop-down menus capable of inputting reporter blocks. For example:
glide () secs to x: () y: ()
This block can easily be filled with Reporter blocks:
glide (costume [number v]) secs to x: (x position) y: (y position)
As reporter blocks report values, they are used whenever a script needs a certain value. These values can be anything — from X positions to the costume number of a sprite. Reporter blocks also need another block to work; they cannot stack like stack blocks.
For example, compare these two scripts:
when gf clicked say [Hello,] for (1) seconds:: looks say [Gobo!] for (1) seconds:: looks when gf clicked say [Hello,] for (1) seconds:: looks say (username) for (1) seconds:: looks
In the first script, the message is predetermined. In the second script, a reporter block has been dropped into the first input of ::looks
say  for () seconds:: looks, and so the message depends on the value of
Because reporter blocks have inputs which may themselves be reporter blocks,
(join ) can be used to show the same message, but all at one time:
when gf clicked say (join [Hello, ] [Gobo!]) for (2) seconds:: looks when gf clicked say (join [Hello, ] (username)) for (2) seconds:: looks
There are 49 total reporter blocks in Scratch 3.0 and 33 if the extension reporter blocks are excluded.
|Note:||Click on a block for more information.|
There are no events or control reporter blocks.
(distance to [ v])
([ v] of [ v])
(current [ v])
(days since 2000)
(() + ())
(() - ())
(() * ())
(() / ())
(pick random () to ())
(join  )
(letter () of )
(length of )
(() mod ())
([ v] of ()::operators
There are no pen reporter blocks.
There are no text to speech reporter blocks.
There are no Makey Makey reporter blocks.
LEGO MINDSTORMS EV3
LEGO Education WeDo 2.0
Go Direct Force and Acceleration
(tilt angle [ v]::extension)
(spin speed [ v]::extension)
(acceleration [ v]::extension)
|Note:||The possible number of reporters is infinite, as there is no limit to how many variable and list reporter blocks can be created.|