【Ruby入門】文字列の基本と表示メソッド
  • facebookページ
  • twitterページ
  • 2017.10.11

    【Ruby入門】文字列の基本と表示メソッド

    プログラミングの基本といえば、変数の型や数値、文字列、日付の扱いでしょう。現に、プログラミング言語の参考書は、大概これらが最初に出てきます。

    本記事では、それらの中でも特に重要な文字列について解説します。

    とても基本的なことなので、掲載されているソースコードを自分で何度も実行して、確実に理解してください。

    Rubyでの文字列の宣言

    文字列型変数の宣言

    では、プログラミング習得の王道に従い、さっそく文字列型の変数を宣言してみましょう。

    ・・・といいたいところですが、Rubyでは基本的に変数の型を宣言する必要はありません。最初に登場したときに代入する値の型に従います。つまり、こんな感じです。

    「変数 = 何らかの文字列」で文字列型の変数になります。

    初回登場時に文字列を代入するだけで、それが宣言+初期化となるわけです。

    文字列とは、Stringクラスのオブジェクト

    先ほどは文字列型の変数を宣言、と書きました。しかしこの表現は正確ではありません。

    Rubyでは、すべてがオブジェクトです。

    文字列も、文字列型の変数というより「Stringクラスのオブジェクト」という表現が正しいのです。さらにいうと、文字列型の変数というより文字列の作り方、といったほうが正しいです。

    他言語でおなじみのnewを使って、以下のようなこともできます。

    [実行結果]

    最初にStringクラスのオブジェクトを生成し、そこにaという文字列を入れました。このように書くと、Stringクラスのオブジェクトであることがよく分かります。

    本解説では、初心者のうちは文字列型と理解して問題ないので、あえて文字列型としました。これから学習を始める方は、ぜひその理解ができるまでがんばってくださいね!

    文字列を表示する各種方法

    文字列を表示する方法を順に解説していきます。

    ” と “” のちがい

    改行を特殊文字(制御文字ともいいます)で表すと\nです。文字列中にこの\nが入っていると、改行して表示されます。この\nを使って、”(シングルクウォーテーション2つ)と””(ダブルクウォーテーション2つ)のちがいを見てみましょう。

    [実行結果]

    ”で囲った方は、改行していません。一方、””で囲った方は、改行しました。つまり、”は特殊文字の制御を無効化してしまいます。“”では、その中の特殊文字の制御は有効です。

    Linuxコマンドの実行結果を表示

    UnixやLinux、Mac OSをお使いの方はぜひお試しください。

    バッククォート「`」(シングルクウォーテーション「’」とは逆向きなので注意)で囲うと、コマンド実行した結果を出力できます。

    Unix系OSで、カレントディレクトリのファイルリストを出力するコマンドは「ls -al」です。カレントディレクトリに4803.rbというファイルが1つだけある状態で、以下のコマンドを保存し、実行します。

    [実行結果]

    コマンドラインで「ls -al」を実行したときと同じ内容が表示されました。

    式展開

    例えば生徒名をstu_nameとして「こんにちは、◯◯さん」と表示させたいとします。文字列の連結を駆使してがんばるのもひとつですが、もっと簡単にできる方法を解説します。

    式展開という方法です。

    [実行結果]

    埋め込むイメージで文字列を生成できて、非常に便利です。

    文字列表示メソッド puts,p,printf

    文字列を表示させるためのメソッドをいくつか解説します。

    puts(プットエス)メソッド

    putsは、変数内の内容を表示します。

    [実行結果]

    いまひとつピンとこないですが、これが配列ならこうなります。

    [実行結果]

    要素を出力するたびに改行しました。

    結果を見て、文字列と数値のちがいが分からないことにお気づきでしょうか?また、単純に文字列を出力しつつ改行したのか、配列を出力したのかが分かりません。

    次に解説するpコマンドと比較すれば、putsの特徴はよくわかります。

    pメソッド

    同じことをpコマンドで実行しましょう。

    [実行結果]

    文字列なら””で囲われて、数値ならそのままで表示されています。つまり、pコマンドは型のちがいまで表示します。

    では配列ならどうでしょうか?

    [実行結果]

    配列でもやはり型まで表示されました。また、配列っぽく表示されたのが分かります。

    printfメソッド

    実行結果を指定した書式で表示したいときは、printfを使います。例えば文字列の長さにかかわらず固定の長さ(固定長)で表示したいなら、printfは便利です。

    [実行結果]

    defgという文字列を%10sの指定をすれば、固定長10桁で表示されます。桁数が足りないので、右側に余白が出力されました。ちなみに%10sを%-10sにして「printf(“abc%-10s\n”,str)」とすると左側に余白が入ります。

    まとめ

    本記事では、文字列の基本と表示を解説しました。

    今後、文字列の比較や置換、文字列の標準ライブラリなどなど、より複雑なことを解説していきます。今回は解説が多めですが、次回からもっと手を動かす内容になります。

    それまでに、本記事の内容をじっくり読んで理解しておいてくださいね!


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテキャンバナー ポテキャリバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア

    関連ワード

    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE