我认为必不可少的一项编程语言功能是自动打印缺少的命名参数,因为它使调试变得更加容易。
但是,我还没有找到在 Ruby 中执行此操作的简单方法。此代码示例打印wrong number of arguments (1 for 3) (ArgumentError)
而不是打印每个缺失参数的名称:
def add_three_numbers(num1, num2, num3)
puts(num1 + num2 + num3)
end
add_three_numbers(num2:3)
我找到了一种打印丢失的函数参数名称的方法,但它非常冗长和冗余:是否有一种不太冗余的方法来打印丢失的函数参数的名称?
def add_three_numbers(num1=nil, num2=nil, num3=nil)
errorToPrint = ""
if(num1 == nil)
error_to_print += "num1 is undefined, "
end
if(num2 == nil)
error_to_print += "num2 is undefined, "
end
if(num3 == nil)
error_to_print += "num3 is undefined, "
end
if(error_to_print != "")
throw error_to_print
end
puts(num1 + num2 + num3)
end
add_three_numbers(num1:1)