2014-06-10 38 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)不是合法语法。