提供: Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
| () 中の () の場所 | |
([リスト v]中の[なにか]の場所::list)
| |
| カテゴリ | リスト |
| タイプ | 値 |
| 追加 | Scratch 3.0 |
() 中の () の場所(リストブロック/値ブロック)は、指定したリストの中の、入力した文字列の場所(割り当てられた数字)を返すブロックである。
仕様
- このブロックはおそらく、上から総当たりで合致する文字列を探し、見つかった時点で処理を終了している[要出典]ので、同じ文字列がリスト内に複数あった場合、一番上にあるものの場所を返す。
- リストに文字列が含まれない場合、このブロックは0を返す。
使用例
このブロックはScratch 3.0で実装されたばかりであり、まだ使用例が少ない。ここでは、使用例は多くないが汎用性が高い、リストの中に指定した文字列の項目がいくつあるのかを求めるプログラムを紹介する(このプログラムを実行した後はリストの順番が崩れるので注意)。
[カウンター v]を(0)にする <<[リスト v]に(文字列)が含まれる>ではない>まで繰り返す [リスト v]の([リスト v]の中の(文字列)の場所::list)番目を削除する::list [カウンター v]を(1)ずつ変える
別のブロックによる代用
- 詳細は「代用ブロック一覧」を参照
このブロックの動作は次のスクリプトで再現できる:
[カウンター v]を(0)にする [出力 v]を(0)にする <(カウンター)=([リスト v]の長さ::list)>まで繰り返す [カウンター v]を(1)ずつ変える もし<([リスト v]の(カウンター)番目::list)=(文字列)>なら [出力 v]を(カウンター)にする [カウンター v]を([リスト v]の長さ::list)にする end
| 変数 | |
| リスト | |