ruby – 检查方法参数的类型
发布时间:2020-12-17 03:37:36 所属栏目:百科 来源:网络整理
导读:我不确定传递给方法的对象是否属于正确的类型.我可能会将一个字符串传递给一个只能处理整数的函数.什么样的运行时保证?我看不出比以下更好的选择: def someFixNumMangler(input) raise "wrong type: integer required" unless input.class == FixNum other
我不确定传递给方法的对象是否属于正确的类型.我可能会将一个字符串传递给一个只能处理整数的函数.什么样的运行时保证?我看不出比以下更好的选择:
def someFixNumMangler(input) raise "wrong type: integer required" unless input.class == FixNum other_stuff end 有更好的选择吗? 解决方法
在使用之前使用
Kernel#Integer方法转换输入.当输入无法以任何合理的方式转换为整数时,它将引发ArgumentError.
def my_method(number) number = Integer(number) # do something with number,which is now guaranteed to be an integer end 我推荐Avdi Grimm的新书Confident Ruby,以便更深入地了解这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |