Paizaでよく使うRubyメソッド集〜その2〜

スポンサーリンク
Paizaでよく使うRubyメソッド集〜その2〜プログラミング
スポンサーリンク

Paizaでよく使うRubyメソッド集〜その2〜

その1はこちらから。

Paizaでよく使うRubyメソッド集〜その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までを繰り返し出力している。

コメント