提供: Japanese Scratch-Wiki

このきじは ひらがなのページがありません。ごめんなさい。
分岐.png:この項目はリストブロックを説明しています。演算ブロックについては、() に () が含まれる (演算ブロック)をご覧ください。

() に () が含まれる
<[リスト v] に [] が含まれる>
カテゴリ リスト
タイプ 真偽
追加 Scratch 1.4

() に () が含まれるブロック(リストブロック/真偽ブロック)とは、指定したリストの中に、指定した文字列と一致する項目が存在するかどうかを調べるブロックである。 少なくとも1つは一致する項目が存在した場合、このブロックは真(True)を返す。一致する項目が存在しない場合、このブロックは偽(False)を返す。

ブロックに指定した文字列とリスト内の項目はまったく同じでなければ一致したと見なされない。たとえば、「abc」という文字列を指定しても、リスト内の項目「abcde」とは一致しない。調べる文字列がアルファベットの場合、大文字と小文字は区別されない。

よくある使用例

リストに、あるものが含まれているかどうかを調べる場合に使用される。 よくある使用例は次のとおり:

  • リストのスキャン
もし <[お弁当 v] に [ほうれん草] が含まれる> なら
[げっ、ほうれん草!] と言う
end
  • コレクションに追加する前に、すでに同じものを持っていないか確認する
もし <<[コレクション v] に [うちわ] が含まれる> ではない> なら
[うちわ] を [コレクション v] に追加する
でなければ
[うちわはもうコレクションにあるよ。] と言う
end
  • 単語リストの中に、指定した単語が存在するかどうか調べる
もし <[単語リスト v] に [チョコレート] が含まれる> なら
[チョコレート? 私、チョコレート大っ嫌いなんだよね!] と言う
End
  • 命令を実行する前に、持ち物リストに必要なものがあるかどうかを確認する
もし <[コレクション v] に [うちわ] が含まれる> なら
[実行 v] を送る
でなければ
[あの砂の山の上まで行くのはちょっと遠すぎるよ……] と言う
end

別のブロックによる表現

詳細は「代用ブロック一覧」を参照

このブロックの動作は次のコードで再現できる:

[カウンター v] を [1] にする
<<(カウンター) > ([リスト v] の長さ)> または <([リスト v]の(カウンター)番目::list) = (調べる対象)>> まで繰り返す
  [カウンター v] を (1) ずつ変える
end
[結果 v] を <(カウンター) > ([リスト v] の長さ)> にする

結果を使用するときは、真偽ブロックを入れる場所に<(結果) = [true]> を入れる。

関連する提案

Scratcherからは、 与えられた文字列の中に別の文字列が存在するかどうかを調べるブロックがほしいという声がある: <文字列 [] に [] が含まれる::operators>[1] このブロックはScratch 3.0で追加され、() に () が含まれるという同名のブロックとして演算ブロック中にある。

出典

  1. http://scratch.mit.edu/discuss/topic/165516/