我是 Ruby 新手。我熟悉其他几种语言。我的问题是关于乱序调用方法。例如:
def myfunction
myfunction2
end
def myfunction2
puts "in 2"
end
如何在声明之前调用 myfunction2?有几种语言允许您在顶部或 .h 文件中声明它。 ruby 是如何处理的?
我是否总是需要遵循这个:
def myfunction2
puts "in 2"
end
def myfunction
myfunction2
end
主要是当我需要为一个类调用 def initialize
中的另一个方法时,这让我很烦。
最佳答案
您不能在定义方法之前调用它。但是,这并不意味着您不能定义 myfunction
之前myfunction2
! Ruby 有后期绑定(bind),所以调用 myfunction2
在myfunction
不会与实际的 myfunction2
相关联在你打电话之前 myfunction
.也就是说只要先调用myfunction
完成之后 myfunction2
已宣布,您应该没问题。
所以,这没问题:
def myfunction
myfunction2
end
def myfunction2
puts "in 2"
end
myfunction
这不是:
def myfunction
myfunction2
end
myfunction
def myfunction2
puts "in 2"
end
关于ruby - 如何处理 Ruby 中的方法顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57648482/