Source: Scratch Wiki en français
Ne doit pas être confondu avec
<() contient () ?>
, un bloc permettant de vérifier si du texte contient un certain texte.Description
Ce bloc renvoie « true » (vrai) si l'élément voulu est contenu par la liste choisie, et « false » (faux) si ce n'est pas le cas.
Exemples
- Ce bloc permet de vérifier si un élément appartient déjà à une liste créée, pour éventuellement l'ajouter ensuite :
demander [Que souhaitez-vous ajouter à la liste de courses ?] et attendre si <[liste de courses v] contient (réponse) ?> alors dire (regrouper (regrouper [Ce produit (] et (réponse)) et [) est déjà dans la liste de courses !] sinon ajouter (réponse) à [liste de courses v]::list dire (regrouper (regrouper [Ça y est, j'ai ajouté ] et (réponse)) et [ à la liste de courses !]) end
- Sinon ce bloc peut servir à pas mal de choses en condition, par exemple :
si <[liste v] contient [blablabla] ?> alors ajouter (longueur de [liste v]) à [variable v]::variables basculer sur le costume [costume2 v] arrêter tous les sons end
Alternatives
Il existe deux alternatives :
- On peut définir un bloc semblable personnalisé :
définir liste contient (texte) mettre [compteur v] à (1) mettre [nombre de fois contenu v] à (0) mettre [résultat v] à [false] répéter (longueur de [liste v]) fois si <(élément (compteur::variables) de [liste v]) = (texte)> alors ajouter (1) à [nombre de fois contenu v]::variables mettre [résultat v] à [true] sinon ajouter (1) à [compteur v]::variables fin fin
(position de [] dans [ v])
. Utilisé comme entrée booléenne, il se comporte un peu comme le bloc<[ v] contient () ?>
avec un petit avantage : là où ce dernier ne renvoie que « true » (vrai) ou « false » (faux), le bloc va renvoyer 0 si l'élément recherché dans la liste ne s'y trouve pas mais va renvoyer le numéro de sa position s'il s'y trouve.
Sur les forums
Sur les forums de Scratch, vous pouvez intégrer des blocs Scratch grâce au BBCode. Voici le code nécessaire pour insérer ce bloc :
<[ v] contient () ?>
Ce qui donnera :
<[ v] contient () ?>
N'oubliez pas que le script devra être entouré des balises
Voir les blocs du forum pour plus d'informations.
[scratchblocks]et
[/scratchblocks]pour être affiché en tant que bloc dans le message.
Voir les blocs du forum pour plus d'informations.
Autre
Depuis le 28 juin 2023, il existe une version à contraste élevé de ce bloc, dont voici l'apparence :
<[ v] contient () ?>
Voir aussi
blocs de données :: variables