提供: Japanese Scratch-Wiki

(デフォルトソート追加) (canned edit summary)
(Scratch 3.0の変更点追記)
4行目: 4行目:
 
== リストブロック ==
 
== リストブロック ==
 
{{メイン|リストブロック}}
 
{{メイン|リストブロック}}
リストブロックは次の8個ある。
+
リストブロックは次の8個ある。{{リリース前一部|なお、これらのほとんどは[[Scratch 3.0で改名されるブロック一覧|Scratch 3.0にて日本語訳が改名される]]。}}
*[[() を () に追加する (ブロック)|<sb>[thing] を [リスト v] に追加する</sb>]]{{-}}リストの最後に内容を追加する。
+
* [[() を () に追加する (ブロック)|<sb>[thing] を [リスト v] に追加する</sb>]]{{-}}リストの最後に内容を追加する。
*[[() 番目を () から削除する (ブロック)|<sb>(1 v) 番目を [リスト v] から削除する</sb>]]{{-}}特定の番号の項目をリストから削除する。
+
* [[() 番目を () から削除する (ブロック)|<sb>(1 v) 番目を [リスト v] から削除する</sb>]]{{-}}特定の番号の項目をリストから削除する。
*[[() を () 番目に挿入する( () ) (ブロック)|<sb>[thing] を (1 v) 番目に挿入する([リスト v])</sb>]]{{-}}リストの特定の箇所に項目を挿入する。
+
* [[() を () 番目に挿入する( () ) (ブロック)|<sb>[thing] を (1 v) 番目に挿入する([リスト v])</sb>]]{{-}}リストの特定の箇所に項目を挿入する。
*[[() 番目( () )を () で置き換える (ブロック)|<sb>(1 v) 番目([リスト v])を [thing] で置き換える</sb>]]{{-}}リストの特定の項目を置き換える。
+
* [[() 番目( () )を () で置き換える (ブロック)|<sb>(1 v) 番目([リスト v])を [thing] で置き換える</sb>]]{{-}}リストの特定の項目を置き換える。
*[[リスト () を表示する (ブロック)|<sb>リスト [リスト v] を表示する</sb>]]{{-}}[[ステージモニター]]を表示する。
+
* [[リスト () を表示する (ブロック)|<sb>リスト [リスト v] を表示する</sb>]]{{-}}[[ステージモニター]]を表示する。
*[[リスト () を隠す (ブロック)|<sb>リスト [リスト v] を隠す</sb>]]{{-}}ステージモニターを隠す。
+
* [[リスト () を隠す (ブロック)|<sb>リスト [リスト v] を隠す</sb>]]{{-}}ステージモニターを隠す。
*[[() (リストブロック)|<sb>(リスト::list)</sb>]]{{-}}[[値ブロック]]であり、ほとんど使われないが、ステージモニターに対応している唯一のリストブロックである。
+
* [[() (リストブロック)|<sb>(リスト::list)</sb>]]{{-}}[[値ブロック]]であり、ほとんど使われないが、ステージモニターに対応している唯一のリストブロックである。
*[[() 番目( () ) (ブロック)|<sb>((1 v) 番目( [リスト v] ))</sb>]]{{-}}リストの特定の項目を返す値ブロックである。
+
* [[() 番目( () ) (ブロック)|<sb>((1 v) 番目( [リスト v] ))</sb>]]{{-}}リストの特定の項目を返す値ブロックである。
*[[() の長さ (リストブロック)|<sb>([リスト v] の長さ::list)</sb>]]{{-}}リストの項目数(長さ)を返す値ブロックである。
+
* [[() の長さ (リストブロック)|<sb>([リスト v] の長さ::list)</sb>]]{{-}}リストの項目数(長さ)を返す値ブロックである。
*[[() に () が含まれる (ブロック)|<sb><[リスト v] に [thing] が含まれる></sb>]]{{-}}[[真偽ブロック]]で、リストに何かが含まれているかを返す。
+
* [[() に () が含まれる (ブロック)|<sb><[リスト v] に [thing] が含まれる></sb>]]{{-}}[[真偽ブロック]]で、リストに何かが含まれているかを返す。
 +
 
 +
=== Scratch 3.0での追加 ===
 +
{{リリース前の情報|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|空のリスト]]
 
項目は、手動またはスクリプトで追加、変更、削除できる。
 
項目は、手動またはスクリプトで追加、変更、削除できる。
 +
 
=== 手動での編集方法 ===
 
=== 手動での編集方法 ===
 
* リストに項目を追加するには、左下の「+」ボタンを押す。
 
* リストに項目を追加するには、左下の「+」ボタンを押す。
25行目: 31行目:
 
* 次の項目へ移るには、{{キー押下|Tab}}を押す。
 
* 次の項目へ移るには、{{キー押下|Tab}}を押す。
 
* 前の項目へ移るには、{{キー押下|Tab}}と{{キー押下|Shift}}を同時押しする。
 
* 前の項目へ移るには、{{キー押下|Tab}}と{{キー押下|Shift}}を同時押しする。
 +
 
=== 読み込みと書き出し ===
 
=== 読み込みと書き出し ===
 
リストを右クリックして、「書き出し」を押すと、リストの情報を書き出すことができる。これは、すべての項目を、LF(\n)で区切ったものである。「読み込み」を押すと、そのデータを読み込むことができる。{{警告|読み込んだデータは上書きされる。}}
 
リストを右クリックして、「書き出し」を押すと、リストの情報を書き出すことができる。これは、すべての項目を、LF(\n)で区切ったものである。「読み込み」を押すと、そのデータを読み込むことができる。{{警告|読み込んだデータは上書きされる。}}
30行目: 37行目:
 
== サイズ制限 ==
 
== サイズ制限 ==
 
[[Scratch]]がクラッシュしない限り、リストのサイズ制限はない。ただし、アップロードするとき、約30秒経つと、エラーになる。(ただし、そのようなリストはほぼない。)また、リストの内容はJSON内に2回記述される。そのため、25万個の単語が格納できるのに、35万個は格納できないといったことが起こる。なお、リスト1項目に入るのは10240文字までである。
 
[[Scratch]]がクラッシュしない限り、リストのサイズ制限はない。ただし、アップロードするとき、約30秒経つと、エラーになる。(ただし、そのようなリストはほぼない。)また、リストの内容はJSON内に2回記述される。そのため、25万個の単語が格納できるのに、35万個は格納できないといったことが起こる。なお、リスト1項目に入るのは10240文字までである。
 +
 +
=== Scratch 3.0のサイズ制限 ===
 +
{{リリース前の情報|cat=no}}
 +
[[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>}}
 +
日本語参照訳:
 +
「私たちの調査により、Scratchプロジェクトの99.999%以上はリストの項目数が200,000未満であることがわかった。この制限は、プロジェクトの巨大なリストで、メモリーの少ないデバイス(携帯電話、タブレット、Raspberry Pi、その他)でのクラッシュを防ぐためである。」
 +
 +
その代わり、リスト1項目に対しては、2018年6月現在制限がない。
  
 
== 使用例 ==
 
== 使用例 ==
37行目: 53行目:
 
* 複数の値を記憶する
 
* 複数の値を記憶する
 
* データの保存
 
* データの保存
 +
 
=== コピペと書き出し機能 ===
 
=== コピペと書き出し機能 ===
 
リストは、他のステージモニターと違い、項目のコピーが可能である。また、「書き出し」を使うと、複数行にわたるデータも保存できる。このため、リストは、セーブをするための重要な要素となっている。
 
リストは、他のステージモニターと違い、項目のコピーが可能である。また、「書き出し」を使うと、複数行にわたるデータも保存できる。このため、リストは、セーブをするための重要な要素となっている。
42行目: 59行目:
 
== クラウドリスト ==
 
== クラウドリスト ==
 
{{メイン|クラウドリスト}}
 
{{メイン|クラウドリスト}}
クラウドリストは、[[Scratch 2.0]]のα・β版の実験的な機能だった。しかし、現在は廃止されている。クラウドリストの値はサーバーに保存された。これが決定的な違いであった。多くのユーザーは、クラウドリストが戻ってくることを願っている。
+
クラウドリストは、[[Scratch 2.0]]のα・β版の実験的な機能だった。しかし、現在は廃止されている。クラウドリストの値はサーバーに保存された。これが決定的な違いであった。多くのユーザーは、クラウドリストが戻ってくることを願っている。現在、クラウド変数の制限のため、クラウドリストの多くは使えない。
  
 
== キャスト ==
 
== キャスト ==
49行目: 66行目:
  
 
== プロジェクト例 ==
 
== プロジェクト例 ==
* [[scratch:projects/129456608/|Cloud list 16 by 2003kaito (Version 1.1.1)]]({{@|2003kaito}}さん)
 
 
* [[scratch:projects/138386305/|超高性能素数判定機(バグがあれば報告お願いします)]]({{@|yoshiki_i}}さん)
 
* [[scratch:projects/138386305/|超高性能素数判定機(バグがあれば報告お願いします)]]({{@|yoshiki_i}}さん)
 
* [[scratch:projects/138078008/|リスト用検索エンジン]]({{@|CommandSlash017}}さん)
 
* [[scratch:projects/138078008/|リスト用検索エンジン]]({{@|CommandSlash017}}さん)
55行目: 71行目:
 
== 提案 ==
 
== 提案 ==
 
多くの人が、[[リスト () を表示する (ブロック)|<sb>リスト [リスト v] を表示する</sb>]]と[[リスト () を隠す (ブロック)|<sb>リスト [リスト v] を隠す</sb>]]の追加を望んでいた。これは、Scratch2.0で追加された。
 
多くの人が、[[リスト () を表示する (ブロック)|<sb>リスト [リスト v] を表示する</sb>]]と[[リスト () を隠す (ブロック)|<sb>リスト [リスト v] を隠す</sb>]]の追加を望んでいた。これは、Scratch2.0で追加された。
 +
 +
== 出典 ==
 +
<references />
  
 
== 関連項目 ==
 
== 関連項目 ==
64行目: 83行目:
 
[[カテゴリ:Scratchプログラム]][[en:List]][[de:Listen]][[id:Daftar]]
 
[[カテゴリ:Scratchプログラム]][[en:List]][[de:Listen]][[id:Daftar]]
 
{{デフォルトソート:りすと}}
 
{{デフォルトソート:りすと}}
 +
<!-- update3.0: 2018-06-09時点での情報あり -->

2018年6月9日 (土) 11:11時点における版

リストの例

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

リストブロック

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

リストブロックは次の8個ある。なお、これらのほとんどはScratch 3.0にて日本語訳が改名される[リリース前]

Scratch 3.0での追加

Clock.png この記事には、リリース前のScratchに関する情報があり、変更される可能性があります。根拠のない情報を防ぐために、出典を明記して下さい。

Scratch 3.0では、次のブロックが追加される。

項目

空のリスト

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

手動での編集方法

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

読み込みと書き出し

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

サイズ制限

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

Scratch 3.0のサイズ制限

Clock.png この記事には、リリース前のScratchに関する情報があり、変更される可能性があります。根拠のない情報を防ぐために、出典を明記して下さい。

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, [2]

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

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

使用例

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

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

コピペと書き出し機能

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

クラウドリスト

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

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

キャスト

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

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

プロジェクト例

提案

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

出典

  1. https://github.com/LLK/scratch-gui/issues/600
  2. https://scratch.mit.edu/users/thisandagain#comments-46216169

関連項目