From Test-Scratch-Wiki
This article or section contains information about a feature from a future version of Scratch that is unreleased and is subject to change. Some Scratch Blocks may not display correctly on this page. |
This article is a stub. It may be broken, incomplete, unfinished, or have missing parts/sections. If you can help expand this article, please help! There might be suggestions on its talk page. |
The () Contains () block is an Operators block and a Boolean block. The block checks if the first parameter's text contains the second parameter's text
—if it does, the block reports true; otherwise, it reports false, and this is case-insensitive. This block will be released with Scratch 3.0.[1]
Example Use
Checking whether input contains a certain string - useful for soft-checking as the actual input may not be exactly identical:
when gf clicked switch costume to [bunny v] ask [What's this animal?] and wait if <(answer) contains [bunny] :: operators> then // contains is used instead of = because the user might say "it's a bunny" say [Correct!] else say [Nope!] end
Workaround
- Main article: List of Block Workarounds
define (string1) contains (string2) set [i v] to [0] set [j v] to [1] repeat (length of (string1)) change [i v] by (1) if <(letter (i) of (string1)) = (letter (j) of (string2))> then set [j v] to [1] repeat until <<not <(letter ((i) + (j)) of (string1)) = (letter (j) of (string2))>> or <(j) > (length of (string2))>> change [j v] by (1) end if <(j) > (length of (string2))> then set [result v] to [true] stop [this script v] end end end
References
- ↑ thisandagain. (10/8/2017). 'Blocks - implement "[string] contains [string]" reporter.[title]' https://github.com/LLK/scratch-gui/issues/601
() + ()
• () - () • () * () • () / () • Pick Random () to () • () < () • () = () • () > () • () and () • () or () • Not () • Join ()() • Letter () of () • Length of () • () Mod () • Round () • () of ()More blocks... |