デイトラDay28 学習記録 「Rubyのクラス」

Rubyには自分で定義せずとも、もとから定義されているクラスがある。

1,Stirngクラス

文字列のクラス。以下に、よく使うメソッドをまとめる。

・split(sep = $;, limit = 0) -> [String] 

第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、結果を文字列の配列で返す。

sentence = "I am a Japanese"
words = sentence.split(" ", 3)
p words  #=> ["I", "am", "a Japanese"]

・include?(val) -> bool

配列が val と == で等しい要素を持つ時に真を返す。

sentence = "I am a Japanese"
word = sentence.include?("Japanese")
puts word  #=> true

返り値がtrueやfalseのメソッドは、末尾に?がつく。Ruby独特の特徴だ。

・gsub(pattern, replace) -> String

文字列中で pattern にマッチする部分全てを文字列 replace で置き換えた文字列を生成して返す。

sentence = "d8d8d8"
puts sentence.gsub("d","f") #->f8f8f8
puts sentence  #->d8d8d8

・gsub!(pattern, replace) -> self | nil
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換える(破壊的メソッド)。
通常 self (Stringクラスのオブジェクト自分自身)を変更して返すが、置換が起こらなかった場合は nil を返す。

sentence = "d8d8d8"
puts sentence.gsub!("d","f") # -> f8f8f8
puts sentence # -> f8f8f8

・length -> Integer

文字列の文字数を返す

2,Integerクラス

 数値のクラス。以下に、よく使うメソッドをまとめる。

・to_s -> String

文字列に変換した、selfを返す。

num = 5
p num       # -> 5
p num.to_s  # -> "5"

・event? -> bool

数値が偶数なら、真を返す。

・odd? -> bool

数値が奇数なら、真を返す。

3,Arrayクラス

配列のクラス。以下に、よく使うメソッドをまとめる。

・join(sep = $,) -> String

配列の要素を文字列 sep を間に挟んで連結した文字列を返す。

ary = ["I", "am", "a", "teacher"]
p ary.join(" ") # -> "I am a teacher" 

sum(init=0) -> object
要素の合計を返す。

[1, 2, 3].sum #=> 6

sample -> object
配列の要素を1個ランダムに選んで返す。

・sort -> Array

sort はソートされた配列を生成して返す。個人的にとてもビックリしたメソッド。バブルソートとかいちいち書かなくていい

ary1 = [ "d", "a", "e", "c", "b" ]
p ary1.sort    #=> ["a", "b", "c", "d", "e"]

・flatten(lv = nil) -> Array

flatten は自身を再帰的に平坦化した配列を生成して返す。配列内に余計な配列があるとき使える。

# 自身を再帰的に平坦化する例。
a = [1, [2, 3, [4], 5]]
p a.flatten                     #=> [1, 2, 3, 4, 5]
p a                             #=> [1, [2, 3, [4], 5]]

・select {|item| ... } -> [object]

各要素に対してブロックを評価した値が真であった要素を全て含む配列を返す。

[1,2,3,4,5].select { |num| num.even? }  # => [2, 4]


この記事が気に入ったらサポートをしてみませんか?