pandamanian’s diary

rubyとrailsについてアウトプットします!

『Ruby』文字列について①

お疲れ様です!

今日はRubyの文字列についてと主にその連結方法について記載します!

文字列の定義

文字列を定義するには
"ダブルクォーテーション"

'シングルクォーテーション'
で囲います。

下記よりmacのターミナルを開いてirbと打ち込んでいます😊

irb(main):001:0> "文字列"
=> "文字列"


文字列はStringクラスに属するオブジェクトです!
余談ですがclassメソッドを使用するとそのオブジェクトのクラスを知る事が出来ます。

 "文字列".class
=> String


つまり文字列オブジェクトはStringクラスのインスタンスと言う事が出来そうですね!

String.new("文字列")
=> "文字列"

と実行しても結果は同じです。

文字列の連結方法


文字列は連結する事が出来ます! 連結するには+メソッドを使用します。

irb(main):002:0> "文字列"+"文字列"
=> "文字列文字列"

連結出来ました!
では次に連結する事によって"文字列1"と言う文字列を出力したかったとします。

しかし明日以降に説明する数値と文字列は連結する事は出来ません。。。
試して見ましょう。

irb(main):006:0> "文字列" + 1
Traceback (most recent call last):
        6: from /Users/youheikanno/.rbenv/versions/2.6.6/bin/irb:23:in `<main>'
        5: from /Users/youheikanno/.rbenv/versions/2.6.6/bin/irb:23:in `load'
        4: from /Users/youheikanno/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/irb-1.0.0/exe/irb:11:in `<top (required)>'
        3: from (irb):6
        2: from (irb):6:in `rescue in irb_binding'
        1: from (irb):6:in `+'
TypeError (no implicit conversion of Integer into String)

と怒られてしまいました😭
文字列はStringクラスのインスタンスでしたね。 では1とはそもそも何なのでしょうか🤔

irb(main):009:0> 1.class
=> Integer

1は数値でクラスはIntegerなので異なるクラスは連結出来ない事を示しています。

ではどうすれば
"文字列1"と出来るでしょうか🤔


1と言う数値をダブルクォーテーション(シングルクォーテーション)で囲って文字列にすれば良いんですね。

irb(main):010:0> "1".class
=> String


これで1が文字列になりましたので連結して見ましょう。

irb(main):011:0> "文字列" + "1"
=> "文字列1"


はい連結出来ました!
本日はここまでですが初学者の方にとっては
メソッドって何?
インスタンスって何?
って方もいると思います😭

ググっても良いと思いますし自分自身のブログにもいずれUPします!

他にも様々な文字列の定義方法及び連結方法がありますがまた機会がありましたらアウトプット致します🤗