塩焼きブログ

塩焼きに関しての研究内容を公開しています

Rubyのnil?とempty?

Rubyにはnil?というメソッドがある。これは変数がnilであるのかを調べることができる。

p example.nil?
# example.rb:1:in `<main>': undefined local variable or method `example' for main:Object (NameError)

example = 0
p example.nil?
# false

example = 1
p example.nil?
# false

example = ""
p example.nil?
# false

example = "hello world"
p example.nil?
# false

example = nil
p example.nil?
# true

文字列が空であるかそうでないかを調べるempty?もある。

p exmaple.empty?
# example.rb:1:in `<main>': undefined local variable or method `example' for main:Object (NameError)

example = 0
p example.empty?
# example.rb:2:in `<main>': undefined method `empty?' for 0:Fixnum (NoMethodError)

example = 1
p example.empty?
# example.rb:2:in `<main>': undefined method `empty?' for 1:Fixnum (NoMethodError)

example = ""
p example.empty?
# true

example = "hello world"
p example.empty?
# false

真偽値だけを返すメソッドは末尾に?が付くようになっているそうだ。Railsなどで使えるpresent?などにも?が付いているように、自作で真偽値を返すメソッドを作成する時は?を付けるようにすれば分かりやすくなる。