こちらは、スクラッチの「リストに〇が含まれる」ブロックの使い方を、詳しく徹底解説しています!
「リストに〇が含まれる」ブロック
「リストに〇が含まれる」ブロックは、指定したリストから指定した値が存在するか調べて、真偽の値を返します。
真偽の値とは、ある命題が「真(true)」であるか「偽(false)」であるかを示す値のことです。
「リストに〇が含まれる」ブロックのある命題とは、「指定したリストから指定した値が存在するかどうか」で、存在すれば「真(true)」を、存在しなければ「偽(false)」を返します。
このようなブロックを「真偽ブロック」といいます。
「真偽ブロック」は、六角形の形をしており、真(True)または、偽(False)のいずれかの「条件・状態」を持つブロックです。(Scratchのブロックの種類と役割について)
「リストに〇が含まれる」ブロックの規定値
「リストに〇が含まれる」ブロックの規定値は、以下の3つです。
- 作成したリスト名
- リスト名を変更
- リスト”〇〇”を削除
「リスト名を変更」は、現在選択中のリストの名前を変更できます。
「リスト”〇〇”を削除」は、現在選択中のリスト〇〇を削除できます。
「作成したリスト名」は、こちらのように作られたリストがすべて表示されます。
「リストに〇が含まれる」ブロックの使い方
それでは、「リストに〇が含まれる」ブロックの使い方を見ていきましょう。
まずは、リストを表示させましょう。
「リストの値」ブロックの左側にあるチェックボックスにチェックをつけると、ステージの左上にチェックしたリストが表示されます。
今回選択したリストは「月」というリストで、中身は「1月」から「12月」の文字列が、12要素格納されています。
完全一致か部分一致か
次にスクリプトエリアに「リストに〇が含まれる」ブロックを置きます。
リストは「月」リストを選択し、「5月」が含まれているかを確認します。
設定したら「リストに〇が含まれる」ブロックをクリックしてみましょう。
「月」リストには5番目に「5月」が入っていますので、「true」が返されます。
次に、「5月」から「13月」に変更してみます。
「13月」は、「月」リストに入っていませんので、クリックすると「false」が返されました。
最後に、「13月」からどの要素にも含まれている「月」に変更してみます。
どの要素にも含まれている「月」ですが、「false」が返されました。
つまり、「リストに〇が含まれる」ブロックは、完全に一致している要素がある場合のみ「true」を返します。
「~が含まれる」とあるので、部分一致も有効と考えられそうですが、「リストに〇が含まれる」ブロックは、完全一致でなければいけません。
大文字と小文字は区別されない
「リストに〇が含まれる」ブロックは、完全一致でなければいけないと説明しましたが、唯一アルファベットだけは、大文字と小文字は区別されません。
実際に確認してみましょう。
例えば、「アルファベット」リストに、このような要素を入れていたとします。
大文字の「ABC」でチェックしてみると「true」が返ってきました。
リストには、大文字の「ABC」はありませんが、小文字の「abc」があるため、含まれていると判断されたというわけです。
こちらは、先ほどとは逆に、小文字の「def」でチェックすると、「true」が返ってきました。
こちらも小文字の「def」とリストにある大文字の「DEF」があるため、含まれていると判断しています。
最後に大文字小文字が混在している「G1h」でチェックすると、「true」が返ってきました。
このように大文字小文字は区別されずにチェックされます。
「リストに〇が含まれる」ブロックの使用例
こちらは、「もし◇なら▢でなければ」ブロックで、条件分岐をしています。
条件は、「リストに〇が含まれる」ブロックを使って、リストに指定した値が含まれているかどうかです。
もしも含まれていた場合は、『「月」リストです。』、含まれていなかったら『「月」リストでは、ありません。』と言わせます。
スクリプトをクリックしてみると、『「月」リストです。』と言っています。
「月」リストには、指定した「1月」が含まれているため「true」を返したというわけです。
今度は「1月」から「13月」に条件を変更して実行してみます。
すると、『「月」リストでは、ありません。』と言っています。
「月」リストには、指定した「13月」が含まれていないため、「false」を返したというわけです。
リスト名の変更とリストの削除
「リストに〇が含まれる」ブロックには、「リスト名を変更」と「リスト”〇〇”を削除」の機能もありました。
こちらの2つは、プログラム実行中に使うことはありません。
リスト名の変更と変数の削除については、「スクラッチの「リストの値」ブロックの使い方を徹底解説!」で詳しく解説していますので、こちらをご確認ください。
変数ブロック一覧
「変数」ブロックには、以下の17個のブロックが用意されています。
- スタックブロック・・・11つ
- 値ブロック・・・5つ
- 真偽ブロック・・・1つ
ブロックの色は、変数関係が橙色、リスト関係がレンガ色(赤茶色)で統一されています。
変数ブロック | 動作 |
---|---|
変数を作る 変数を作る |
|
変数の値 変数の値を返す |
|
変数を〇にする 指定した変数に指定した値を入れる |
|
変数を〇ずつ変える 指定した変数の値に指定した値を加える(+なら増、-なら減) |
|
変数▢を表示する 指定した変数の値を表示する |
|
変数▢を隠す 指定した変数の値を非表示にする |
|
リストを作る リストを作る |
|
リストの値 リストの値を返す |
|
〇をリストに追加する 指定したリストに指定した値を追加する |
|
リストの〇番目を削除する 指定したリストから指定した番号の値を削除する |
|
リストのすべてを削除する 指定したリストのすべての値を削除する |
|
リストの〇番目に〇を挿入する 指定したリストの指定した番目に指定した値を挿入する(追加) |
|
リストの〇番目を〇で置き換える 指定したリストの指定した番目に指定した値を置き換える(変更) |
|
リストの〇番目 指定したリストの指定した番号の値を返す |
|
リストの中の〇の場所 指定したリストから指定した値の番号を返す |
|
リストの長さ 指定したリストに含まれている要素の数を返す |
|
リストに〇が含まれる 指定したリストから指定した値が存在するか調べて真偽の値(true、false)を返す |
|
リスト▢を表示する 指定したリストを表示する |
|
リスト▢を隠す 指定したリストを隠す |