提供: Japanese Scratch-Wiki

2019年7月24日 (水) 08:37時点におけるGagagagagagagaqqww (トーク | 投稿記録)による版 (目指せ1日1記事(目指さない))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

このきじは ひらがなのページがありません。ごめんなさい。
() 中の () の場所
([リスト 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

関連ブロック

テンプレート:データブロック