2016-06-15 4 views
-2

私はちょうど1つの方法で作業し、残りの部分にそれを複製したいと思っていました。これが、実際には1つの方法しか行われない理由です。 (ちょっと)この電卓を動作させるにはどうすればいいですか?

puts "Welcome to My Calculator! " 

print "Please place in the numbers. " 

first_number = gets.to_i 

print "Second number. " 

second_number = gets.to_i 


puts "What operation? " 

operation_selection = gets 

if(operation_selection == "add") 

    addition_function 

    puts"#{result}" 

end 


def addition_function 
result = first_number + second_number 

end 

def subtraction_function 
    result = first_number - second_number 

end 

def divison_function 
    result = first_number/second_number 

end 

def multiplication_function 
    result = first_number * second_number 

end 
+1

私のためにこの問題を解決したら、それが粗くて反復的に見えないようにする方法があれば、ありがとう。 – Clueless

+0

私は本当に始める方法についてのチュートリアルに従うことをお勧めします。類似の投稿はhttp://stackoverflow.com/questions/20850598/programming-a-basic-calculator-in-rubyで見つけられます –

+0

これはそう遠くないようですオフ。 'gets'の代わりに' gets.chomp'を使ってみてください。 –

答えて

0

これは何ですか?

puts "Welcome to My Calculator! " 

print "Please place in the numbers. " 

first_number = gets.to_i 

print "Second number. " 

second_number = gets.to_i 


puts "What operation? " 

operation_selection = gets.chomp.downcase.to_s 

def oper(operation_sel, first_number,second_number) 
    case operation_sel 
     when "add" 
      puts first_number + second_number 
     when "sub" 
      puts first_number - second_number 
     when "div" 
      puts first_number/second_number 
     when "mul" 
      puts first_number * second_number 
     end 
end 

oper(operation_selection,first_number,second_number) 
+0

これは私が探していたものです。私は完全にケースのオプションを渡したが、私はまだあなたがそれに答えることができれば、私のifステートメントが通過しなかったのだろうと思っている。 – Clueless

+0

@Clueless私はあなたが 'gets'の代わりに' gets.chomp'を使うべきだと思うので、あなたは[ここ]からの答えをチェックすることができます(http://stackoverflow.com/questions/22166108/difference-between-gets- gets-chomp-and-gets-chomp) – kenshinji

関連する問題