Paizaでよく使うRubyメソッド集〜その2〜
その1はこちらから。
odd, evenメソッド
odd, evenメソッドの概要
英語の訳の通り。与えられた数値がodd(奇数)、even(偶数)ならTrueを返す。
odd, evenメソッドの例
input = gets.to_i
if input.odd?
puts "odd"
elsif input.even?
puts "even"
end
今回の場合、与えられた数値が奇数か偶数かによって条件を分岐します。
gsubメソッド
gsubメソッドの概要
正規表現を使って特定の文字を置き換える。
gsub!のように末尾に ! が付く場合、破壊的にその部分の内容を書き換える。
gsubメソッドの例
word = SOCCER
word.gsub!(/A/, '4')
word.gsub!(/E/, '3')
word.gsub!(/G/, '6')
word.gsub!(/I/, '1')
word.gsub!(/O/, '0')
word.gsub!(/S/, '5')
word.gsub!(/Z/, '2')
puts word
# 50CC3R
変数wordに入っている文字列の中身がgsubによって書き換えられているのがわかるだろうか。
absメソッド
absメソッド
絶対値(absolute)を求めるメソッドです。
absメソッドの例
input = -34456
puts input.abs
# 34456
以上のように与えられた数値の絶対値を返します。
upcase, downcaseメソッド
upcase, downcaseメソッドの概要
与えられた文字列を大文字(upcase)・小文字(downcase)にします。
upcase, downcaseメソッドの例
input = aaa
puts input.upcase
# AAA
大文字で出力されているのがわかるでしょうか。
大文字を小文字にしたい場合はdowncaseを使います。
sliceメソッド
sliceメソッドの概要
引数で指定した範囲または位置の文字列を削除する。
‘ ! ‘ をつけると破壊的メソッドとなり、元々あった変数の中身を書き換えることができる。
sliceメソッドの例
# '!'を付けない場合
input = 'abc'
puts input.slice(0)
puts input
# => a
# => abc 変数inputの中身は変わらない。
# '!'をつける場合
input = 'abc'
puts input.slice!(0)
puts input
# => a
# => bc 変数の中身が変わっている
# 以下のメソッドはsliceと似ているが、消してはいない。取り出しているだけ。
input = abc
puts input[0]
# => a
他にも似たようなメソッドにdeleteというものがあるが、これは引数に任意の文字列を指定して消す。
対してsliceは引数に任意の範囲や位置を指定して消す。
うまく使いこなせれば色々便利そう。
.. メソッド
.. メソッドの概要
与えられた整数間の数字を出力する。
.. メソッドの例
i = [1, 3]
(i[0].to_i..i[1].to_i).each do |s|
puts s
end
#=> 1
#=> 2
#=> 3
今回は .. メソッドを使って配列の中に入っている2つの整数1と3を取り出している。
そしてeachメソッドを使って1~3までを繰り返し出力している。
コメント