Can someone explain me the difference between using a default value for an argument and using keyword argument?
Default Value
def test1(var1, var2="2", var3=3)
puts "#{var1} #{var2} #{var3}"
end
test1(1) # => 1 2 3
test1(1, "2", 3) # => 1 2 3
Keyword Argument
def test2(var1, var2: "2", var3: 3)
puts "#{var1} #{var2} #{var3}"
end
test2(1) # => 1 2 3
test2(1, "2", 3) # => 1 2 3
I can't see any difference between them but I feel that I'm missing something because I've read that the Keyword Argument was a much-awaited feature for ruby 2.0