PHP示例:
function do_something(int $i) { return $i + 2; }
Ruby示例:
class MyClass # ... end def do_something(MyClass x) x.prop1 = "String..." end
有什么类似的吗?谢谢.
解决方法@H_301_12@
Ruby没有这样的东西,但你所要做的就是添加一行,如下所示:
def do_something(x)
raise "Argument error blah blah" unless x.kind_of?(MyClass)
...
end
没有大碍.但如果你觉得它太冗长,那么只需定义一个方法:
module Kernel
def verify klass,arg
raise "Argument error blah blah" unless arg.kind_of?(klass)
end
end
把它放在第一行:
def do_something(x)
verify(MyClass,x)
...
end
def do_something(x) raise "Argument error blah blah" unless x.kind_of?(MyClass) ... end
没有大碍.但如果你觉得它太冗长,那么只需定义一个方法:
module Kernel def verify klass,arg raise "Argument error blah blah" unless arg.kind_of?(klass) end end
把它放在第一行:
def do_something(x) verify(MyClass,x) ... end