提供: Japanese Scratch-Wiki

(ひらがなヘッダの追加 (Bot))
(リストブロック)
 
(4人の利用者による、間の15版が非表示)
1行目: 1行目:
{{ひらがなヘッダ}}{{エイプリルフール}}[[ファイル:リスト.png|thumb|right|150px|リストの例]]
+
{{ひらがなヘッダ}}{{エイプリルフール}}[[ファイル:リスト.png|thumb|right|150px|リストの例]][[ファイル:3.0 List.png|thumb|right|150px|Scratch 3.0でのリストの例]]
 
'''リスト'''(他のプログラミング言語では配列と呼ばれる)は、複数の情報を一度で取り扱うためのツールである。リストの中身は、通し番号で管理される。リスト[[ブロック]]は、[[データブロック]]の一部である。
 
'''リスト'''(他のプログラミング言語では配列と呼ばれる)は、複数の情報を一度で取り扱うためのツールである。リストの中身は、通し番号で管理される。リスト[[ブロック]]は、[[データブロック]]の一部である。
  
 
== リストブロック ==
 
== リストブロック ==
 
{{メイン|リストブロック}}
 
{{メイン|リストブロック}}
リストブロックは次の8個ある。{{リリース前一部|なお、これらのほとんどは[[Scratch 3.0で改名されるブロック一覧|Scratch 3.0にて日本語訳が改名される]]。}}
+
リストブロックは次のスタックブロック7個、値ブロック4個、真偽ブロック1個の計12個のブロックがある。
* [[() を () に追加する (ブロック)|<sb>[thing] を [リスト v] に追加する</sb>]]{{-}}リストの最後に内容を追加する。
+
*[[() を () に追加する (ブロック)|<sb>[thing] を [リスト v] に追加する</sb>]]
* [[() 番目を () から削除する (ブロック)|<sb>(1 v) 番目を [リスト v] から削除する</sb>]]{{-}}特定の番号の項目をリストから削除する。
+
*[[() () 番目を削除する (ブロック)|<sb>[リスト v] の () 番目を削除する::list</sb>]]
* [[() () 番目に挿入する( () (ブロック)|<sb>[thing] (1 v) 番目に挿入する([リスト v]</sb>]]{{-}}リストの特定の箇所に項目を挿入する。
+
*[[() () 番目に () を挿入する (ブロック)|<sb>[リスト v]()番目に[]を挿入する::list</sb>]]
* [[() 番目( () )を () で置き換える (ブロック)|<sb>(1 v) 番目([リスト v])を [thing] で置き換える</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] に [thing] が含まれる></sb>]]{{-}}[[真偽ブロック]]で、リストに何かが含まれているかを返す。
+
*[[() 中の () の場所 (ブロック)|<sb>([リスト v]中の[]の場所::list)</sb>]]
 
+
*[[() の長さ (リストブロック)|<sb>([リスト v] の長さ::list)</sb>]]
=== Scratch 3.0での追加 ===
+
*[[() に () が含まれる (ブロック)|<sb><[リスト v] に [thing] が含まれる></sb>]]
{{リリース前の情報|cat=no}}
 
Scratch 3.0では、次のブロックが追加される。
 
* [[ファイル:Item number of thing in list.png|158px|link=() 内の () の位置 (ブロック)]]{{-}}リスト内での、ある項目の位置を返す[[値ブロック]]。<ref>https://github.com/LLK/scratch-gui/issues/600</ref>
 
  
 
== 項目 ==
 
== 項目 ==
 
[[ファイル:空のリスト.png|thumb|right|150px|空のリスト]]
 
[[ファイル:空のリスト.png|thumb|right|150px|空のリスト]]
 +
[[ファイル:3.0 Empty List.png|thumb|right|150px|空のリスト (3.0)]]
 
項目は、手動またはスクリプトで追加、変更、削除できる。
 
項目は、手動またはスクリプトで追加、変更、削除できる。
  
33行目: 31行目:
  
 
=== 読み込みと書き出し ===
 
=== 読み込みと書き出し ===
 +
[[ファイル:CSV読み込み.png|thumb|right|240px|CSV読み込み]]
 
リストを右クリックして、「書き出し」を押すと、リストの情報を書き出すことができる。これは、すべての項目を、LF(\n)で区切ったものである。「読み込み」を押すと、そのデータを読み込むことができる。{{警告|読み込んだデータは上書きされる。}}
 
リストを右クリックして、「書き出し」を押すと、リストの情報を書き出すことができる。これは、すべての項目を、LF(\n)で区切ったものである。「読み込み」を押すと、そのデータを読み込むことができる。{{警告|読み込んだデータは上書きされる。}}
 +
 +
カンマ区切りのCSVファイルを読み込むときは、「どちらのカラム(列)を取り込みたいですか?」と問われるので、数値を入力する。
  
 
== サイズ制限 ==
 
== サイズ制限 ==
[[Scratch]]がクラッシュしない限り、リストのサイズ制限はない。ただし、アップロードするとき、約30秒経つと、エラーになる。(ただし、そのようなリストはほぼない。)また、リストの内容はJSON内に2回記述される。そのため、25万個の単語が格納できるのに、35万個は格納できないといったことが起こる。なお、リスト1項目に入るのは10240文字までである。
+
[[Scratch]]がクラッシュしない限り、リストのサイズ制限はない。ただし、アップロードするとき、約30秒経つと、エラーになる。(ただし、そのようなリストはほぼない。)また、リストの内容はJSON内に2回記述される。そのため、25万の単語が格納できるのに、35万は格納できないといったことが起こる。なお、リスト1項目に入るのは10240文字までである。
  
 
=== Scratch 3.0のサイズ制限 ===
 
=== Scratch 3.0のサイズ制限 ===
{{リリース前の情報|cat=no}}
 
 
[[Scratch 3.0]]にて、リストには200,000個の制限がある。
 
[[Scratch 3.0]]にて、リストには200,000個の制限がある。
{{quote|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|<ref>https://scratch.mit.edu/users/thisandagain#comments-46216169</ref>}}
+
{{quote|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|<ref>[[scratch:users/thisandagain#comments-46216169]]</ref>}}
 
日本語参照訳:
 
日本語参照訳:
 
「私たちの調査により、Scratchプロジェクトの99.999%以上はリストの項目数が200,000未満であることがわかった。この制限は、プロジェクトの巨大なリストで、メモリーの少ないデバイス(携帯電話、タブレット、Raspberry Pi、その他)でのクラッシュを防ぐためである。」
 
「私たちの調査により、Scratchプロジェクトの99.999%以上はリストの項目数が200,000未満であることがわかった。この制限は、プロジェクトの巨大なリストで、メモリーの少ないデバイス(携帯電話、タブレット、Raspberry Pi、その他)でのクラッシュを防ぐためである。」
83行目: 83行目:
 
[[カテゴリ:Scratchプログラム]][[en:List]][[de:Listen]][[id:Daftar]]
 
[[カテゴリ:Scratchプログラム]][[en:List]][[de:Listen]][[id:Daftar]]
 
{{デフォルトソート:りすと}}
 
{{デフォルトソート:りすと}}
<!-- update3.0: 2018-06-09時点での情報あり -->
+
<!-- update3.0: 2018-06-09時点での情報あり -->[[nl:Lijsten]][[ru:Список]]

2019年8月21日 (水) 12: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

関連項目