Ruby 调用super和调用super()之间的区别

Ruby 调用super和调用super()之间的区别,ruby,Ruby,调用super和调用super()之间有什么区别?如果传递给子方法的参数与父方法所期望的不匹配,那么哪一个是最好的。当您在没有参数的情况下调用super时,Ruby会向当前对象的父对象发送一条消息,要求它调用与您从中调用super相同名称的方法,以及传递给该方法的参数 另一方面,当使用super()调用时,它不会向父级发送任何参数 如果您拥有的参数与父级所期望的参数不匹配,那么我会说您希望使用super(),或者在函数调用中显式列出参数以匹配有效的父级构造函数。指示向上发送对象祖先链的参数 su

调用super和调用super()之间有什么区别?如果传递给子方法的参数与父方法所期望的不匹配,那么哪一个是最好的。

当您在没有参数的情况下调用
super
时,Ruby会向当前对象的父对象发送一条消息,要求它调用与您从中调用
super
相同名称的方法,以及传递给该方法的参数

另一方面,当使用
super()
调用时,它不会向父级发送任何参数


如果您拥有的参数与父级所期望的参数不匹配,那么我会说您希望使用
super()
,或者在函数调用中显式列出参数以匹配有效的父级构造函数。

指示向上发送对象祖先链的参数

super - sends all arguments
super() - no arguments

第三种可能性是什么:
super('cat'、'dog'、'pig')
?这更简单!