charsメソッド
charsメソッドは、その文字列を文字ごとの配列に変換するメソッド。
例えば、"QIITA"という文字列に対しては、["Q", "I", "I", "T", "A"]という配列を返す。
qiita.rb
str = 'QIITA'
str.chars
=>["Q", "I", "I", "T", "A"]
each_with_indexメソッド
配列の各要素に対し、その要素と要素のインデックス(位置)をブロックに渡して繰り返し処理を行うメソッド。
例えば、["Q", "I", "I", "T", "A"]という配列に対して、最初の繰り返しでは"Q"とそのインデックス0が渡される。次に"I"とインデックス1、その次に"I"とインデックス2、その次に"T"とインデックス3...という具合に続く。
qiita.rb
str = 'QIITA'
str.each_with_index do |word, index|
p [word, index]
end
=>["Q", 0]
["I", 1]
["I", 2]
["T", 3]
["A", 4]
gsubメソッド
文字列のメソッドで、指定したパターンを他の文字列に置き換えるために使う。
qiita.rb
sentence = "Hello, world. This is a test sentence."
sentence.gsub(/[.,]/, '')
=>"Hello world THis is a test sentence"
/[.,]/
これは正規表現と呼ばれるもので、コンマ , とピリオド . を意味している。角括弧[]
を使うことで、その中のどれか一つにマッチすることを示している。
''
これが置き換える対象。今回は空文字列なので、コンマとピリオドを削除する形になる。
つまり、sentence.gsub(/[.,]/, '')
は、sentenceから全てのコンマとピリオドを削除する処理を行っている。
splitメソッド
文字列を分割して配列に変換するメソッド。デフォルトでスペースで分割する。つまり、文をスペースで区切って単語ごとの配列を作成する。
qiita.rb
sentence = "Hello, world. This is a test sentence."
sentence.gsub(/[.,]/, '').split
=>["Hello", "world", "This", "is", "a", "test", "sentence"]