提供:Japanese Scratch-Wiki

このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
"() の長さ (ブロック)"はこのページにリダイレクトされました。リストブロックについては、() の長さ (リストブロック)をご覧ください。
() の長さ
カテゴリ 演算
タイプ
追加 Scratch 1.4

() の長さ ブロック (演算ブロック値ブロック) ブロックは、与えられた文字列 が何文字であるかを返す。

Warning
メモ:
文字列中のスペース (空白文字) は、文字としてカウントされる。

よくある使用例

文字列の長さによって、別のイベントが起きるようなプロジェクトで使用する。 よくある使用例は次のとおり:

  • 名前の長さを調べる
[名前を教えて] と聞いて待つ
((答え) と ((答え) の長さ)) と(2) 秒言う
  • プレイヤーの得点の桁数を調べる
ずっと
((得点1) の長さ) と言う
  • 入力されたメッセージの長さによって、異なる答えを返すチャットボットを作る
もし <((答え) の長さ) < (10)> なら
[やあ!] と言う
でなければ
[バイバイ!] と言う
end

別のブロックによる表現

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

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

[長さ v] を [1] にする
<(((長さ) + (1)) 番目\((調べる文字列)\)の文字::operators) = []> まで繰り返す//[]内は空白
[長さ v] を (1) ずつ変える
end

ただし、このスクリプトには処理速度が遅いという問題がある。 次のコードも使用できる。

[カウンター v] を (0) にする
<(((カウンター) + (1)) 番目\((調べる文字列)\)の文字::operators) = []> まで繰り返す//[]内は空白
(((カウンター) + (1)) 番目\((調べる文字列)\)の文字::operators) を [結果 v] に追加する
[長さ v] を (1) ずつ変える
end
[長さ v] を ([結果 v] の長さ::list)にする

このコードは多くのメモリを使用し、速度も期待できない。しかし、どちらのコードも数えた値を変数として保持しておけるメリットがある。

関連項目

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