【Robo Blocksの使い方】文字を扱うブロック_その1 文字を操作できるブロックの紹介
ソフトバンクロボティクスでPepperを使ったプログラミング教育を担当してる佐藤です!
今回は、文字(文字列)を操作するブロックを紹介します!
文字と文字列
「こんにちは」という単語があったとき、日常生活では"文字"として扱いますが、プログラムの世界では文字というと”こ”や"は"などの1文字だけのことを指し、「こんにちは」は"こ""ん""に""ち""は"の5文字がくっついた文字の列”文字列”として扱います。
Robo Blocksを使う上ではあまり違いを意識することはないと思いますが、これに注目してブロックを見ると文字を扱うブロックなのか文字列を扱うブロックなのかが分かると思います。
レベルアップして複雑なプログラムを書く際は文字と文字列を意識することがあると思いますので、概念として知っておくとスムーズにステップアップできるのではないかと思います!
文字(文字列)を扱うブロック
それではRobo Blocksで文字や文字列を扱うブロックを紹介します。
=ブロック
左辺と右辺の文字列が完全に一致しているかどうか判定することができます。以前の記事でご紹介しました通り、<ブロックや>ブロックとは違い、例外的に文字を処理することができます。
○と○ブロック
2つの文字や文字列を結合して1つの文字列にすることができるブロックです。イメージとしては文字列版の+ブロックというところでしょうか。
このブロックは数字を扱うこともできます。
以下のように"2"と"月"を結合すると"2月"という文字にすることができます。
○の○番目の文字ブロック
文字列から文字を1つ取り出すことができるブロックです。
単体で利用することはあまりなく、後述の他のブロックと組み合わせて使うことが多いと思います。
○の○~○番目の文字ブロック
こちらは1文字ではなく複数の文字を取り出すことができますので、文字列から文字列を取り出すブロックと言えます。これも組み合わせて利用することが多いブロックです。
○の長さブロック
これまでのブロックとは毛色が違い、文字列を数字にするブロックです。
使い所が非常に多い便利なブロックです。
○を○で分割した○番目ブロック
少し複雑なブロックです。
例のように文字と文字が","で区切られているデータをCSV(Comma Separated Value)と言いますが、このようなデータから使いたいデータを抽出する際に利用します。
コード機能を使って外部のAPIと連携するような時、役に立つ場合があると思います。
まとめ
今回は文字と文字列を操作するブロックを改めて確認してみました。
Robo Blocksでは文字なのか文字列なのか、はたまた数字なのかは自動でよろしくやってくれるのであまり意識することはありませんが、作るプログラムによっては意識する場面があると思います。例えば以下は一例ですが、ブロックの動きが分かっていれば、1+2+3で6になるのではなく12+3で15になる理由がわかると思います。
また、概念として理解していると他のプログラミング言語を学ぶ際にも役に立つと思います!
次回はこれらのブロックを使って文字列を操作するプログラムの例をご紹介したいと思いますので、そちらも是非ご覧ください!