sar*_*unw 6 ruby initialization
我曾经有这个
public constructor_name() {
this(param)
}
public constructor_name(int param) {
this.param = param
}
Run Code Online (Sandbox Code Playgroud)
在Java中,我们有这种自引用构造函数吗?
Geo*_*Geo 12
由于Ruby是一种动态语言,因此您不能拥有多个构造函数(或者就构造函数链接而言).例如,在以下代码中:
class A
def initialize(one)
puts "constructor called with one argument"
end
def initialize(one,two)
puts "constructor called with two arguments"
end
end
Run Code Online (Sandbox Code Playgroud)
您可能希望有2个具有不同参数的构造函数.但是,评估的最后一个将是类的构造函数.在这种情况下initialize(one,two).
那些不是有效的Java,但我认为你得到的是你想要一个可选的参数.在这种情况下,您可以只为参数赋予默认值
def initialize(param=9999)
...
end
Run Code Online (Sandbox Code Playgroud)
或者您可以使用splat参数:
def initialize(*params)
param = params.pop || 9999
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11769 次 |
| 最近记录: |