1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

0からのRuby入門その4〜文字列の扱い方〜

Pocket

はじめに

式と数値についてはバッチリですか?

次はもう少し進んで、数値だけでなく「文字列」も扱ってみましょう。

プログラミングでは、数値に並んで文字列も欠かせない要素です。
たとえば、コンソールやユーザーインターフェースに表示するテキストもすべて文字列です。
頻繁に使用されることがおかわりになるでしょう。

この記事では、Ruby初心者の方向けに、Rubyにおける文字列の扱い方についてお伝えしていきます。

数値と文字列リテラルについて

前回、数値についてお伝えしましたが、その際にプログラムに直接数値を記述しました。

プログラムでは、直接記述された数値などのことを「リテラル」と呼びます。
リテラルは数値だけでなく、今回取り上げる文字列にも存在します。
最初に書いた”Hello, World”を思い出してみましょう。

例:

 

この例では、文字列リテラルを記述しています。
ダブルクオーテーション(”)で囲われた部分(”Hello, Ruby!”)が文字列リテラルになります。

文字列リテラルは、数値と同じく変数に割り当てることができます。

例:

 

このように、リテラルはそのまま使ったり、変数に割り当てたりして使います。

文字列を連結する

次に、複数の文字列の連結方法について学んでおきましょう。
といっても方法は非常に簡単で、次のようにプラス(+)演算子で結合してやるだけです。

例:

 

ここでは変数に割り当てた文字列と連結していますが、文字列リテラルどうしでも同じことができます。

複数行の文字列を扱う

長い文字列を扱うときには、複数行に分けたいこともあります。
その場合は、次のように特殊記号を使って改行コードを挿入します。

例:

 

文字列をよく見ると、改行コードとして「\n」が使われているのがお分かりになるでしょう。
これは文字列の改行として扱われるため、出力時に該当部分で改行されます。なお、文字列中で「\」そのものを記述するには「\\」と入力します。

また、次のようにプログラム上で改行する方法でもOKです。

例:

 

こちらの例でも同じ結果になります。
文字列の左端を揃えたくなるかもしれませんが、そうすると出力される文字列にも空白が入ってしまうので注意しましょう。

数値から文字列に変換する

これまで見てきたとおり、プログラムでは数値と文字列は明確に区別されています。

このため、次のように数値と文字列を連結しようとしてもエラーになってしまいます。

例:

 

この場合は、次のように数値を文字列に変換してやれば解決します。

例:

 

なにやら見慣れない記述が出てきました。
”12.to_s()”の部分は数値に対して、「to_sメソッド」を呼び出しています。

メソッドとは、処理を実行するための命令です。
”to_sメソッド”は、対象の数値(ここでは12)を文字列にして返してくれます。
これで文字列が得られるため、プラス演算子で連結できるわけです。

文字列から数値に変換する

逆に、文字列から数値に変換することもできます。
次の例をみてみましょう。

例:

 

先程の例と同じように、数値と文字列を計算しようとしてもエラーになってしまいます。

この場合、文字列を数値に変換してやれば解決します。

例:

 

文字列を数値に変換するには、文字列に対して「to_iメソッド」を呼び出してやればOKです。
”to_iメソッド”は整数値を返してくれるので、処理は成功します。なお、数値が小数の場合には「to_fメソッド」を使います。

文字列に変数を埋め込む

最後に、文字列に変数を埋め込む方法について説明していきます。
たとえば、次のように文字列リテラルと変数をいっしょに出力したい場合を考えてみましょう。

例:

 

この例のように文字列連結で解決することもできますが、毎回プラス演算子で連結したり、数値を文字列に変換したりするのは面倒です。

この場合、式展開を使うと、もっとシンプルに書けます。

例:

 

先程の例と同じ結果になりました。
式展開は、文字列中に「#{変数名(または式)}」と記述して使います。

結果として文字列中に変数が埋め込まれ、ひとつの文字列として返されます。
”to_sメソッド”を使う必要がないことに注目して下さい。よく使うので、しっかり覚えておきましょう。

まとめ

ここまで、基本的な文字列の扱い方について学んできました。
どれもプログラムでは必ずといっていいほど使われるものなので、しっかりおさえておきましょう。

このあたりで変数やリテラル、式などについてこれまで学習してきたことをおさらいしておいて下さい。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る