この記事ではRubyの基礎であるString(文字列)についての学習方法を解説していきます。
プログラミング経験者も未経験者もRubyがどういった言語動かしながら触りだけ説明します。
Rubyをインストール
まずはRubyをインストールしてください。基本的には以下を参考にしていただければと思います。
pryをインストール
以下のコマンドでpryをインストールしてください。
これは画面上でメソッドを色付けして見やすくしてくれるツールです。
$ gem install pry
最初のコーディング
まずは基礎の基礎で文字列を出力してみましょう。
まずはpryを起動してください。
$ pry
起動できたらputsの後にシングルクオートかダブルクオートで囲んだ文字列を入力してください。
以下のように表示されます。
puts 'あいう'
あいう
=> nil
classの確認方法
値の型、クラスを確認する方法です。
確認したい変数や値の末尾に「.class」をつけます。
pry(main)> '文字'.class
=> String
この場合はStringですね。
Stringの基本メソッド
大文字変換
大文字変換は以下の通りです。
pry(main)> 'sample'.upcase()
=> "SAMPLE"
小文字変換
小文字変換は以下の通りです。
pry(main)> 'String'.downcase
=> "string"
文字切り取り
文字の切り取りは引数1に切り取り開始位置、引数2に切り取る文字数を指定して実行します。
slice(切り取り開始位置, 切り取る文字数)
※開始位置は最初の文字を「0」で指定します。
pry(main)> '文字列です'.slice(0,3)
=> "文字列"
pry(main)> '文字列です'.slice(3,2)
=> "です"
文字数のカウント
文字数のカウントは以下の通りです。
pry(main)> 'String'.size
=> 6
Integerへ変換
Integerへの変換は以下の通りです。
pry(main)> '100'.to_i
=> 100
pry(main)> '100'.to_i.class
=> Integer
Floatへ変換
Floatへの変換は以下の通りです。
'10.5'.to_f
=> 10.5
'10.5'.to_f.class
=> Float
文字の連結
+演算子
以下が+演算子を使った文字連結の方法です。
pry(main)> '文字の' + '連結'
=> "文字の連結"
<<を使用する方法
<<を使用して末尾に連結することもできます。
pry(main)> '文字の' << '連結'
=> "文字の連結"
変数をしようした場合
pry(main)> str = '文字の'
=> "文字の"
pry(main)> str << '連結'
=> "文字の連結"
pry(main)> str << 'です'
=> "文字の連結です"
+演算子との動作の違いに注意してください。
# +演算子の場合は保存されない
pry(main)> str + 'プラス'
=> "文字の連結ですプラス"
pry(main)> str
=> "文字の連結です"
# <<の場合は保存される
pry(main)> str << '追加'
=> "文字の連結です追加"
pry(main)> str
=> "文字の連結です追加"
# +演算子の場合は自己代入すると保存される
pry(main)> str = str + 'プラス'
=> "文字の連結です追加プラス"
pry(main)> str
=> "文字の連結です追加プラス"
# 以下のような書き方が一般的
pry(main)> str += 'プラス'
=> "文字の連結です追加プラスプラス"
複数同じ文字を作成
pry(main)> '文字' * 10
=> "文字文字文字文字文字文字文字文字文字文字"
文字列の埋め込み
文字列に変数を埋め込む方法です。
例をみた方がわかりやすいと思うので、以下のコードをみてください。
※ダブルクオートで囲まないといけない点にだけ注意してください。
pry(main)> two = '二'
=> "二"
pry(main)> "1 + 1 は#{two}"
=> "1 + 1 は二"
#シングルクオートでは読み込まれない
pry(main)> '1 + 1 は#{two}'
=> "1 + 1 は\#{two}"
式の埋め込み
式を埋め込むこともできます。
pry(main)> "1 + 1 は#{1 + 1}"
=> "1 + 1 は2"
メソッドの確認
以下のようにどのようなメソッドがあるか確認できます。
pry(main)> 'String'.methods
=> [:encode,
:encode!,
:pretty_print,
:include?,
:shellescape,
:%,
:*,
:+,
:count,
:partition,
:sum,
:next,
:to_c,
:casecmp,
:casecmp?,
:insert,
:bytesize,
:match,
:match?,
:succ!,
:<=>,
:next!,
:upto,
:index,
:replace,
:==,
:===,
:chr,
:=~,
:rindex,
:[],
:[]=,
:byteslice,
:getbyte,
:setbyte,
:clear,
:scrub,
:empty?,
:eql?,
:-@,
:downcase,
:scrub!,
:dump,
:undump,
変数の使用
以下のようにupper_strという変数に「=」で値を代入できます。
upper_str = 'string'.upcase
=> "STRING"
まとめ
シンプルに記載できてわかりやすいかと思います。
使いながら覚えていきましょう。
コメント