求大神解答!
ruby吧
全部回复
仅看楼主
level 3
为什么new带参数提示错误 版本2.3.3
2018年03月27日 14点03分 1
level 3
你怎么不用方法名而用构造函数
2018年03月28日 05点03分 2
类不能直接带参数吗?
2018年03月28日 12点03分
回复 浩子😳 :你知道new是什么意思吗,去看书兄弟
2018年03月28日 12点03分
level 14
new会调用class的initialize方法,new()里面的参数会传递给initialize()作为参数。
但是LZ这代码里面根本就没定义initialize方法,那么参数没地方去,自然就出问题。
如果是写不带参数的 b=A.new 就没问题。
2018年03月29日 02点03分 3
level 14
class A
def initialize(x)
@x=x
end
end
b=A.new(10)
这样就不会报这种参数错。
2018年03月29日 02点03分 4
我把方法名用其他名字指定,不用initialize不能带参数吗?如果要指定其他名又该怎么写?求指教谢谢
2018年03月29日 12点03分
@123木头人😏 还有一种是所谓的“工厂方法”可以生成新对象,其实new也可以算这一类。
2018年03月29日 13点03分
level 14
class A
def initialize(x=10)
@x=x
end
end
a=A.new
b=A.new(10)
这种写法,两个初始化都对,都没有参数错。
2018年03月29日 02点03分 5
level 14
另外,如果没有定义对应的to_s,puts就没有意义。
2018年03月29日 03点03分 6
self是啥玩意?
2018年04月06日 23点04分
@1303116413zrz 区别类方法。Ruby把面向对象编程玩花了,除了没有多继承,什么都玩。
2018年04月07日 04点04分
1