gpt4 book ai didi

ruby-on-rails - Ruby:无法使用两个参数进行数学运算

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

请记住,我是 Ruby 的新手。我目前正在学习一个教程,该教程要求我创建一个基本计算器。我需要创建一个具有以下方法的计算器类;描述,加减乘除。

我的初始化方法可以成功获取两个数字,但我似乎无法让其他方法正常工作。

这是我的代码:

class Calculator
attr_accessor :x, :y

def self.description
"Performs basic mathematical operations"
end

def initialize(x, y)
@x = x
@y = y
end

def add(x, y)
x += y.to_i
end

def subtract(x, y)
x -= y.to_i
end
end

我收到“参数数量错误(2 为 0)”

最佳答案

代码是正确的,但没有多大意义。您正在将值传递给初始化程序,因此我希望您的代码按如下方式使用

c = Calculator.new(7, 8)
c.add
# => 15

这可能是您的称呼方式。但是,这是不可能的,因为您将 add() 定义为采用两个参数。因此,你应该使用

c = Calculator.new(7, 8)
c.add(1, 2)
# => 3

但是,将 xy 传递给初始化器有什么意义呢?正确的实现是

class Calculator
attr_accessor :x, :y

def self.description
"Performs basic mathematical operations"
end

def initialize(x, y)
@x = x.to_i
@y = y.to_i
end

def add
x + y
end

def subtract
x - y
end
end

或更有可能

class Calculator
def self.description
"Performs basic mathematical operations"
end

def initialize
end

def add(x, y)
x.to_i + y.to_i
end

def subtract(x, y)
x.to_i - y.to_i
end
end

关于ruby-on-rails - Ruby:无法使用两个参数进行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28095255/

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