提供:Japanese Scratch-Wiki

このきじは ひらがなでよめます。ひらがなでよむ
() の () 番目の文字
([world] の (1) 番目の文字)
カテゴリ 演算
タイプ
追加 Scratch 1.4

() の () 番目の文字 ブロック (演算ブロック値ブロック) は、与えられた文字列の指定された位置の文字を返す。 ブロックには「文字」とあるが、いわゆる文字だけでなく、数字、記号、スペース (空白文字) なども値として返す。時間や得点を表示する場合などに便利である。

0番目や-1番目、引数が文字列より長い場合などは空の値を返す。引数に小数が含まれる場合、切り捨てられる。

よくある使用例

文字列の途中の値を取り出したい場合に、このブロックを使用する。 よくある使用例は次のとおり。

  • 答えブロック と一緒に使用して、答えから何かを取り出す
もし <((答え) の (1) 番目の文字) = [z]> なら
[それ、僕も一番好きな文字なんだ!] と (3) 秒言う
でなければ
[いいね!] と (2) 秒言う
end
  • 答えのn番目の位置が数字かどうかを調べる (「数字のリスト」には、0、1、2、... 9の10個の数字を項目として入れておく)
もし <[数字のリスト v] に((答え) の (n) 番目の文字)が含まれる> なら
[数字] と言う
でなければ
[文字/記号] と言う
end
  • 答えの先頭が特定の文字の場合に処理を実行する
もし <((答え) の (1) 番目の文字) = [z]> なら
[このスクリプトを止める v]
end

バリエーション

Mod版Scratch の中には、このブロックで文字列の中から何文字分取り出すかを指定できるものがある。Scratch にも同様のブロックがほしいという声がある[1]。 その場合、次のようなブロックになるだろう。

([] の () から () 番目の文字::operators)

ただし、このブロックは次のコードで実現できる。

[結果 v] を [] にする
[cnt v] を (最初の文字の場所::grey) にする
<(cnt) = ((最後の文字の場所::grey) + (1))> まで繰り返す
[結果 v] を ((結果) と ((全体::grey) の (cnt) 番目の文字)) にする
[cnt v] を (1) ずつ変える
end

Scratch 3.0

拡張機能版ブロック

一時期、Scratch 3.0にはSome Blocks拡張機能が存在していて、その中には「添え字が0から始まるバージョン」のこのブロックがあった。現在は拡張機能ごと存在しない。

関連項目

参照

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