目次
リストブロックについて
演算ブロックは全部で18個あり、色は赤茶色で統一されています。
このリストブロックを使用することで、複数の変数をまとめて管理することができます。
リストブロックは、スタックブロック・値ブロック(楕円)・真偽ブロック(六角形)の3種類があります。
スタックブロック
スタックブロックは上下に他のブロックをつなげることができるブロックです。
値ブロック
値ブロックは何らかの値を保持することができるブロックです。
真偽ブロック
真偽ブロックは真(True)または偽(False)を返す値ブロックです。
リストブロックは、Scratch起動直後は、表示されていません。
リストブロックを表示するには、自身でリストを作成する必要があります。
今回は、そのリストブロックについての解説とそれぞれの動作例を交えて詳しく解説していきます。
リストについて
リストとは、簡単に言うと、コンピュータに「値を一時的に保存しておくための箱の集まり」のことです。
リストはプログラミングの世界では配列とも言われます。
上図のように、リストは変数と似ていて、箱に値を自由に入れたり出したりすることができます。
変数と違うのはリストは箱の集まりのため、箱に番号が振られています。
この番号が振られていることで、リスト内にある任意の箱から値を取り出したり、順番を入れ替えたりすることができるようになっています。
リストを使ってデータをまとめることで、変数を複数作る必要がなくなり、データの管理も容易になります。
リストブロック解説
リストを作る
解説
リストを使用するときに最初にこのボタンからリストを作る必要があります。
リストには自由に名前をつけることができます。まとめたいデータ群に合わせて名前を設定すると管理がしやすくなります。
リスト作成時に、「すべてのスプライトが使えるリスト」か「このスプライトのみ使えるリスト」かを選択することができます。
使用する条件に合わせて選択してください。
リストを作成すると、リストで使用するブロックが追加されます。
(作成したリスト名)
解説
チェックボックスにチェックを入れると、ステージの左上にリストが表示されるようになります。
また、このブロックは値ブロックとなっているのでプログラム内でリストを使用するときに、他のブロックにはめ込むことでリストを使用できます。
リストの読み込み
リストは右クリックメニューから.txt, .csv, .tsvファイルから読み込みすることができます。
Scratch内でリストのデータを編集するより、テキストエディター等で編集する方が簡単です。
必要に応じて、リストの読み込み機能を使ってみてください。
リストの書き出し
リストは右クリックメニューから.txtファイルで書き出しすることができます。
Scratch内でデータの変更後、テキストエディターで編集するときに書き出し機能を使うと便利です。
( )を[ 作成したリスト名 ]に追加する
解説
( )の値を指定したリストの末尾に追加します。
[ 作成したリスト名 ]の( )番目を削除する
解説
リストから指定した番号の値を削除します。
削除した番号より後ろにある値の番号は繰り上がります。
[ 作成したリスト名 ]のすべてを削除する
解説
リストにあるすべての値を削除します。
[ 作成したリスト名 ]の( )番目に( )を挿入する
解説
リストの指定した番号の位置に値を挿入します。
指定した番号の位置にある値は番号が繰り下がります。
指定した位置がリストの末尾の番号+1の場合はデータが挿入されますが、+2以上となる場合はデータは挿入されません。
[ 作成したリスト名 ]の( )番目を( )で置き換える
解説
リストの指定した番号の項目を任意の値で置き換えます。
指定した番号が存在しない場合は、リストに影響はありません。
[ 作成したリスト名 ]の( )番目
解説
リストの指定した番号の項目の値を返します。
番号を指定するときは変数を使用することで、プログラムの動作に合わせてリストから値を返すことができるようになります。
下図のプログラムは左右の矢印キーを使って変数を1~5までの範囲で変更できます。
スペースキーを押したときの変数の番号をリストから取得し、その文字列をスプライトが返すようになっています。
[ 作成したリスト名 ]中の( )の場所
解説
指定した値のリストの位置を返します。
指定した値がリスト内に存在しない場合、0を返します。
下図のプログラムは入力した名前の出席番号をスプライトが返すプログラムです。
入力した名前の生徒が存在しない場合は、「その名前の生徒はいないよ!」と返します。
[ 作成したリスト名 ]の長さ
解説
リストにある項目数を値として返します。
[ 作成したリスト名 ]に( )が含まれる
解説
リストの中に()で指定した値が含まれる場合はtrue(真)、含まれないときにfalse(偽)を返します。
下図のプログラムは入力した名前がリストにあるかどうかをスプライトが返すプログラムです。
入力した文字がリストに含まれていない場合、「(名前)は名簿にありません!」とスプライトが返します。
リスト[ 作成したリスト名 ]を表示する/隠す
解説
選択したリストの表示する/しないを変更することができます。