2014-06-10 66 views
0

這是我第一次進入StackOverflow,我是新手編碼器。紅寶石初學者製作計算器

所以我做一個簡單的加法計算,我在最後兩行,打印出整數加逗號......

我缺少什麼?錯誤說

C:/Ruby193/rubystuff/ex1.rb:13:語法錯誤,意想不到的 '' 打印 ( 「加法運算的結果是」 +,結果)

我認爲這是正確的做法...我一定錯過了簡單的事情。

print ("Please enter your name: ") 
name = gets 
puts ("Hello, " + name) 
print ("Enter a number to add: ") 
num1 = gets 
print ("Enter a second number to add: ") 
num2 = gets 
result = Integer(num1) + Integer(num2) 

print result 


print ("The result of the addition is ",result) 
print ("So the result of adding " + num1.chomp + " plus " + num2.chomp + " equals: ",result) 
+0

進行函數調用時,不要在方法和參數之間引入空格。這可能導致解析錯誤。其次,'print'不會添加換行符,'puts'就是。其中大多數應該是'puts(...)'。調用'num1.to_i'而不是'Integer()'方法也是慣例。 – tadman

+0

非常感謝提示! – nyhunter77

+0

[將參數傳遞給方法]的可能重複(http://stackoverflow.com/questions/23843659/passing-arguments-to-methods) –

回答

4

Ruby有字符串插值,我認爲大多數人會認爲這是最慣用的做事方式。 RubyMonk做了偉大的工作,解釋它here

通過改變「打印」打電話到放方法,你可以這樣做:

puts "The result of the additions is #{result}" 
0

有兩種方法將參數傳遞給一個方法:

  • 括號中的方法名稱後直接
  • 沒有帶空格的方括號後的空格

您在方法之後有空白空間,但您正在使用選項#2並且正在將單個參數("The result of the addition is ",result)傳遞給該方法,但("The result of the addition is ",result)不是合法語法。