2015-07-10 39 views
1

基于Ruby的僧计算器锻炼,我想建立一个简单的计算器,可以加减:没有方法错误 - 红宝石计算器

class Calculator 
def add(a,b) 
    a + b 
end 

def subtract(a,b) 
    a - b 
end 
end 

puts "input first integer" 
a = gets.chomp.to_i 

puts "input second integer" 
b = gets.chomp.to_i 

puts "add or subtract?" 
response = gets.chomp.downcase 

if response == "add" 
    Calculator.add(a,b) 
else response == "subtract" 
    Calculator.subtract(a,b) 
end 

当我运行代码,我不断收到“NoMethodError ' - 方法'add'和'subtract'未定义。我不明白为什么我得到这个错误,并想知道我是否调用了错误的方法。

回答

4

您在实例级而不是类级别定义了您的方法。要么使用

def self.add(a,b) 
    a + b 
end 

或创建的Calculator

calc = Calculator.new 
calc.add(a,b) 
+0

谢谢您的回答一个实例! – mjjcha