塩焼きブログ

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

Rubyのreturnについて

Rubyではreturnを省略することができる。これによってRubyではreturnを省略することが多い。

def hello(name)
  "Hello " + name
end

puts hello("Tom")
# Hello Tom

returnを省略すると一番最後に得られる値が戻り値となる

def hello(name)
  "Hello return"
  "Hello " + name
end

puts hello("Tom")
# Hello Tom

戻り値は最後に得られる値であり、最後の行ではないことに注意すること。

def hello(name = nil)
  if name.nil?
    "Hello world"
  else
    "Hello " + name
  end
end

puts hello("Tom")
puts hello()
# Hello Tom
# Hello world

無論returnを書いて任意の位置で戻り値を出す事もできる。returnは処理をそこで終了させることができるので、終了のタイミングを制御したい時に利用することが多い。

def hello(name)
  return "Hello return"
  "Hello " + name
end

puts hello("Tom")
# Hello return