提供: Japanese Scratch-Wiki

このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
Document stub.png この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。

クラウドリストとは、クラウド変数の拡張版で、文字列が入れられるリストのことである。 ここではクラウドリストにユーザー名を入れる方法を紹介する。

クラウドリスト作成方法

文字の設定

クラウドリストは数字しか書き込めないので、文字列を数列化してクラウドリストに入れる。

[変数 v] を (0) にする
[文字列 v] の すべてを削除する::list
[文字列 v] を [abcdefghijklmnopqrstuvwxyz0123456789-_] にする//ユーザー名はa~z,0~9,-,_を使うのでその文字列を登録する。
(9) 回繰り返す//今回は2桁ずつ読み込むので、1桁の1~9は使いません。
() を [文字列 v] に追加する
end
<([文字列 v]の長さ::list)=(((文字列::variables)の長さ::operators)+(9))> まで繰り返す
[変数 v] を (1)ずつ変える
([文字列 v]の(変数)番目) を [文字列 v] に追加する
end

数字二桁に一文字ずつ割り当てる場合、

文字を割り当てるのは01~99、00には「改行」の意味をもたせるのが一般的である。

保存を行う

クラウドリストに保存させるためのプログラムは少し長い。 保存する度に長いプログラムを使うのは面倒なので、定義にした方が分かりやすい。

定義 保存 (保存する文字)
[変数 v] を (0) にする
[一時保存 v] を (00) にする
((保存する文字)の長さ) 回繰り返す
[変数 v] を (1) ずつ変える
[一時保存 v] を ((一時保存) と ((文字列) 中の ((保存する文字) の (変数) 番目の文字) の場所)) にする
end
[☁データ v] を ((☁データ) と (一時保存)) にする

読み込みを行う 

保存の時と同様、プログラムが少し長いので定義を使用する。

定義 読み込み (読み込む数値)
[変数 v]を () にする//変数は空白もしくは0を代入する
(((読み込む数値::define)の長さ)/(2)) 回繰り返す
[一時保存 v] を (((読み込む数値::define)の((変数)+(1))番目の文字)と((読み込む数値::define)の((変数)+(2))番目の文字)) にする
もし <(一時保存::variables)=(00)> なら
[クラウドリスト v]に()を追加する::list//ここの引数は空白にしておく
でなければ
[一時保存 v]を([文字列 v]の(一時保存::variables)番目)にする::variables
[クラウドリスト v]の ([クラウドリスト v]の長さ::list)番目を(([クラウドリスト v]の([クラウドリスト v]の長さ::list)番目)と(一時保存))で置き換える::list
end
[変数 v]を (2) ずつ変える
end

スクリプトの例

ここではこれまでのプログラムを使ってスクリプトを組んでみる。

@greenflagが押されたとき
[変数 v] を (0) にする//文字の設定。定義にしてもよい。
[文字列 v] の すべてを削除する::list
[文字列 v] を [abcdefghijklmnopqrstuvwxyz0123456789-_] にする
(9) 回繰り返す
() を [文字列 v] に追加する
end
<([文字列 v]の長さ::list)=(((文字列::variables)の長さ::operators)+(9))> まで繰り返す
[変数 v] を (1)ずつ変える
([文字列 v]の(変数)番目) を [文字列 v] に追加する
end
...//ここはクラウドリストではないので自分でスクリプトを組もう
保存(ユーザー名::sensing)::custom
保存(点数::variables)::custom
@greenflagが押されたとき
ずっと
読み込み(☁データ::variables)::custom
end

クラウドリストを使う上での注意点

クラウドチャット

クラウドリストを用いて、チャットを作ることは禁止されている。

ただし、定型文式チャットだけはその限りではない。

クラウド変数の更新頻度

クラウド変数への代入は、0.1秒以下で行うと、変更したはずの値が変更されていないなどのトラブルが発生する可能性がある。

念のため、0.3秒おきくらいに代入するのがベストだろう。

文字列の長さの制限

クラウド変数には入れられる値の長さに制限が存在するため、大量の文字列を扱う際などは複数のクラウド変数を持ち要らなければならない。

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。