大佬教程收集整理的这篇文章主要介绍了为什么Ruby的默认参数值不被赋值给nil参数?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在方法签名中设置一个默认参数值.
调用该方法时,我将一个零参数传递给该参数.
# method with a default value of 1000 for parameter 'b' def format_args(a,b=1000) "\t #{a.ljust(30,'.')} #{B}" end # test hash dudes = {}; dudes["larry"] = 60 dudes["moe"] = nil # expecTing default parameter value puts "Without nil check:" dudes.each do |k,v| puts format_args(k,v) end # forcing default parameter value puts "With nil check:" dudes.each do |k,v| if v puts format_args(k,v) else puts format_args(k) end end
输出:
Without nil check: larry......................... 60 moe........................... With nil check: larry......................... 60 moe........................... 1000
这是预期的行为吗?
我错过了什么ruby-foo?
如果你提供它为零,那么它将是零.所以是的,这是预期的行为.
以上是大佬教程为你收集整理的为什么Ruby的默认参数值不被赋值给nil参数?全部内容,希望文章能够帮你解决为什么Ruby的默认参数值不被赋值给nil参数?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。