gpt4 book ai didi

ruby - 私有(private)方法调用错误

转载 作者:数据小太阳 更新时间:2023-10-29 06:35:31 25 4
gpt4 key购买 nike

写了一个方法;当我尝试运行它时,出现错误:

NoMethodError: private method ‘subtotal’ called for 39.99:Float
at top level in grades.rb at line 9
Program exited with code #1 after 0.04 seconds.

代码如下:

def subtotal(qty = 1)
return nil if self.to_f <= 0 || qty.to_f <= 0
self.to_f * qty.to_f
end

book = 39.99
car = 16789

puts book.subtotal(3)
puts car.subtotal
puts car.subtotal(7)

最佳答案

当你在任何类之外声明一个方法时,它是一个私有(private)方法,这意味着它不能被其他对象调用。您应该打开您希望该方法进入的类,然后将方法定义放在那里。 (如果你想在多个类中使用它,要么打开一个公共(public)父类(super class),要么将它放在一个模块中,然后将该模块包含在所有类中。)

关于ruby - 私有(private)方法调用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6297864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com