提供: Japanese Scratch-Wiki

(リストブロック)
 
(同じ利用者による、間の2版が非表示)
4行目: 4行目:
 
== リストブロック ==
 
== リストブロック ==
 
{{メイン|リストブロック}}
 
{{メイン|リストブロック}}
リストブロックは次の8個ある。
+
リストブロックは次のスタックブロック7個、値ブロック4個、真偽ブロック1個の計12個のブロックがある。
* [[() を () に追加する (ブロック)|<sb>[thing] を [リスト v] に追加する</sb>]]{{-}}リストの最後に内容を追加する。
+
*[[() を () に追加する (ブロック)|<sb>[thing] を [リスト v] に追加する</sb>]]
* [[() 番目を () から削除する (ブロック)|<sb>[リスト v] の () 番目を削除する::list</sb>]]{{-}}特定の番号の項目をリストから削除する。
+
*[[() () 番目を削除する (ブロック)|<sb>[リスト v] の () 番目を削除する::list</sb>]]
* [[() () 番目に挿入する( () (ブロック)|<sb>[リスト v] の () 番目に [] を挿入する::list</sb>]]{{-}}リストの特定の箇所に項目を挿入する。
+
*[[() () 番目に () を挿入する (ブロック)|<sb>[リスト v]の()番目に[]を挿入する::list</sb>]]
* [[() 番目( () )を () で置き換える (ブロック)|<sb>[リスト v] の () 番目を [] で置き換える::list</sb>]]{{-}}リストの特定の項目を置き換える。
+
*[[() () 番目を () で置き換える (ブロック)|<sb>[リスト v]の()番目を[]で置き換える::list</sb>]]
* [[リスト () を表示する (ブロック)|<sb>リスト [リスト v] を表示する</sb>]]{{-}}[[ステージモニター]]を表示する。
+
*[[リスト () を表示する (ブロック)|<sb>リスト [リスト v] を表示する</sb>]]
* [[リスト () を隠す (ブロック)|<sb>リスト [リスト v] を隠す</sb>]]{{-}}ステージモニターを隠す。
+
*[[リスト () を隠す (ブロック)|<sb>リスト [リスト v] を隠す</sb>]]
* [[() (リストブロック)|<sb>(リスト::list)</sb>]]{{-}}[[値ブロック]]であり、ほとんど使われないが、ステージモニターに対応している唯一のリストブロックである。
+
*[[() のすべてを削除する (ブロック)|<sb>[リスト v] のすべてを削除する::list</sb>]]
* [[() 番目( () (ブロック)|<sb>((1 v) 番目( [リスト v] )</sb>]]{{-}}リストの特定の項目を返す値ブロックである。
+
*[[() (リストブロック)|<sb>(リスト::list)</sb>]]
* [[() の長さ (リストブロック)|<sb>([リスト v] の長さ::list)</sb>]]{{-}}リストの項目数(長さ)を返す値ブロックである。
+
*[[() () 番目 (ブロック)|<sb>([リスト v] の ()番目::list)</sb>]]
* [[() () が含まれる (ブロック)|<sb><[リスト v] に [ほげ] が含まれる></sb>]]{{-}}[[真偽ブロック]]で、リストに何かが含まれているかを返す。
+
*[[() 中の () の場所 (ブロック)|<sb>([リスト v]中の[]の場所::list)</sb>]]
* [[() 中の () の場所 (ブロック)|<sb>[リスト v] 中の (ほげ) の場所::list</sb>]]{{-}}リスト内での、ある項目の場所を返す[[値ブロック]]。番号は1から始まる。
+
*[[() の長さ (リストブロック)|<sb>([リスト v] の長さ::list)</sb>]]
 +
*[[() () が含まれる (ブロック)|<sb><[リスト v] に [thing] が含まれる></sb>]]
  
 
== 項目 ==
 
== 項目 ==

2019年8月21日 (水) 13:38時点における最新版

このきじは ひらがなのページがありません。ごめんなさい。編集者向け:作成する
リストの例
Scratch 3.0でのリストの例

リスト(他のプログラミング言語では配列と呼ばれる)は、複数の情報を一度で取り扱うためのツールである。リストの中身は、通し番号で管理される。リストブロックは、データブロックの一部である。

リストブロック

詳細は「リストブロック」を参照

リストブロックは次のスタックブロック7個、値ブロック4個、真偽ブロック1個の計12個のブロックがある。

項目

空のリスト
空のリスト (3.0)

項目は、手動またはスクリプトで追加、変更、削除できる。

手動での編集方法

  • リストに項目を追加するには、左下の「+」ボタンを押す。
  • 特定の位置の後に項目を挿入するには、項目を選択し、↵ Enterを押す。⇧ Shiftを押しながらすると、前に挿入できる。
  • 項目を削除するには、項目を選択して、右にある「×」を押す。
  • 次の項目へ移るには、Tab ⇆を押す。
  • 前の項目へ移るには、Tab ⇆⇧ Shiftを同時押しする。

読み込みと書き出し

CSV読み込み
リストを右クリックして、「書き出し」を押すと、リストの情報を書き出すことができる。これは、すべての項目を、LF(\n)で区切ったものである。「読み込み」を押すと、そのデータを読み込むことができる。
Warning 警告: 読み込んだデータは上書きされる。

カンマ区切りのCSVファイルを読み込むときは、「どちらのカラム(列)を取り込みたいですか?」と問われるので、数値を入力する。

サイズ制限

Scratchがクラッシュしない限り、リストのサイズ制限はない。ただし、アップロードするとき、約30秒経つと、エラーになる。(ただし、そのようなリストはほぼない。)また、リストの内容はJSON内に2回記述される。そのため、25万の単語が格納できるのに、35万は格納できないといったことが起こる。なお、リスト1項目に入るのは10240文字までである。

Scratch 3.0のサイズ制限

Scratch 3.0にて、リストには200,000個の制限がある。

We did some research and found that 200K list items was sufficient for > 99.999% of all Scratch projects. The limit is to prevent projects with large lists from creating memory pressure that could cause Scratch 3.0 to crash on lower-powered devices (such as mobile phones, tablets, Raspberry Pis, etc).

– thisandagain, [1]

日本語参照訳: 「私たちの調査により、Scratchプロジェクトの99.999%以上はリストの項目数が200,000未満であることがわかった。この制限は、プロジェクトの巨大なリストで、メモリーの少ないデバイス(携帯電話、タブレット、Raspberry Pi、その他)でのクラッシュを防ぐためである。」

その代わり、リスト1項目に対しては、2018年6月現在制限がない。

使用例

有名な例は以下の通りです。

  • 計算
  • 文字列の暗号化
  • 複数の値を記憶する
  • データの保存

コピペと書き出し機能

リストは、他のステージモニターと違い、項目のコピーが可能である。また、「書き出し」を使うと、複数行にわたるデータも保存できる。このため、リストは、セーブをするための重要な要素となっている。

クラウドリスト

詳細は「クラウドリスト」を参照

クラウドリストは、Scratch 2.0のα・β版の実験的な機能だった。しかし、現在は廃止されている。クラウドリストの値はサーバーに保存された。これが決定的な違いであった。多くのユーザーは、クラウドリストが戻ってくることを願っている。現在、クラウド変数の制限のため、クラウドリストの多くは使えない。

キャスト

詳細は「キャストの規則」を参照

リストは、その内容に応じて数値や文字列にキャストされる。

プロジェクト例

提案

多くの人が、リスト [リスト v] を表示するリスト [リスト v] を隠すの追加を望んでいた。これは、Scratch2.0で追加された。

出典

  1. scratch:users/thisandagain#comments-46216169

関連項目