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

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

【Ruby入門】StringClass(ストリングクラス)とは

Pocket

はじめに

Rubyでは操作可能な対象物をオブジェクト(もの)と定義して、それらオブジェクトに対して処理を呼びかけるメソッド(メッセージを送るためのもの)を利用するプログラミング言語です。

今回はRubyがそれぞれのオブジェクトをClass(クラス)と定義している点に触れながら、文字列を出力するStringClass(ストリングクラス)についてお伝えしていきます。

Rubyのクラスとは?

Rubyは取り扱う全てのオブジェクトがあるClass(クラス)に属していると定義しながら、それぞれのオブジェクトに対してエンジニアが求めている処理を呼びかける仕組みが存在します。

しかし、RubyのClass(クラス)についてカンタンに説明しても浅い理解に陥ってしまい、「Rubyのクラスって何なのか?」と疑問を持つ可能性も高いと考えます。

ですので、今回の場合はRubyで文字を出力する場合はStringクラスというオブジェクトを使うんだな。

という理解をしつつ、実際にRubyで文字列をプログラムしてみましょう。

Rubyで文字列を出力するには?

Rubyで文字列を出力するには次のStringクラスが用意しているメソッドを利用します。

それは主に次の2つのRubyに用意されているメソッドです。

・putsメソッド
・printメソッド

文字列自体を出力する為に知っておくと良いRubyのメソッドは、実はこの2つ程度しかありません。

その他にも「文字列を出力する + 何か他の操作を加える」メソッドは存在していますから、興味があればRubyリファレンス(http://ref.xaio.jp/ruby/classes/string)で参照してみください。

それでは実際にRubyで文字列を出力するメソッドを利用してみましょう。

Rubyでprintメソッドとputsメソッドを使ってみる

まずはRubyのStringクラスのメソッドを説明する時に良く扱われる「printソッド」を使ってみましょう。

Ruby サンプルコード / print.rb

print “文字列を出力したい”
print ”のに改行してくれない”
print “なぜ文章がつながるのか?”

上記のようにプログラムすると次のように出力されます。

「ターミナルRuby-study$ ruby print.rb文字列を出力したい。のに改行してくれないなぜ文章がつながるのか?」

printメソッドを利用した場合は文字列が上記のように表示されます。

printメソッドの場合は出力したい文字列を改行せずに出力してしまうので、文章が一列にそのまま表示されてしまいます。

ですが、putsメソッドの場合は出力する文章を改行した状態で出力してくれます。

実際にやってみましょう。

Ruby サンプルコード / puts.rb
puts “文字列を出力したい”
puts ”のに改行してくれない”
puts “なぜ文章がつながるのか?”

上記のようにプログラムすると次のように出力されます。

「ターミナル

Ruby-study$ ruby puts.rb

文字列を出力したい。
のに改行してくれないなぜ文章がつながるのか?」

printメソッドを利用した場合は文字列が上記のように表示されます。

putsメソッドでは面倒臭い改行をそのまましてくれるので、printメソッドとputsメソッドとの違いを正しく認識しておくと良いでしょう。

また、これらのprintメソッドやputsメソッドはRuby のStringクラス(文字列クラス)のメソッドだと言う事も合わせて覚えておいてください。

まとめ

Rubyで文字列操作をするためにStringクラスを使用するために「printメソッドとputsメソッド」の2つを利用してきましたが、大きく分けてこれらのメソッドの違いは改行ができるかどうかという点です。

基本的には文字列を表示する時のメソッドですが、これ以外の文字列を面白く操作するためのメソッドは多くStringクラスに用意されていまから、興味があれば文字列クラスのその他のメソッドも勉強してみてください。

そして、興味があればプロスタの他の記事を読んでみてくださいね!

投稿者:プロスタ編集部

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

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

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

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

あわせて読みたい

関連記事

ページ上部へ戻る