kiyo_hikoのブログ

メモ+日記?

Ruby:メソッド名と引数名が被った場合どっちが優先されるか

引数名が優先される模様

class Test
  def hoge() 100 end
  def fuge(hoge = 4649)
    p "hoge = #{hoge}"
  end
end

t = Test.new
puts t.hoge
puts t.fuge(999)
puts t.fuge
100
"hoge = 999"
hoge = 999
"hoge = 4649"
hoge = 4649

ローカル変数もメソッド名に優先するみたい