我想在init参数中使用Self,如下所示: class A {
public init(finishBlock: ((_ operation: Self) -> Void)? = nil) {...}
} 我知道我可以在这个地方使用“A”,但我希望实现这一点,如果某个类继承自A,那么它的初始化程序将知道操作,因为它的类类型而不仅仅是A.所以例如,如果我写道: class B: A {
代码是什么样的情况: module M
extend self
def greet
puts "hello"
end
end 更有利于使用以上的东西: module M
def self.greet
puts "hello"
end
end 在顶部,一个是扩展的实例方法,后者只是一个类方法,但是当调用任一方法时,您必须M.greet,对吗?我只是好奇