print ("1 + 1 =",1 + 1,“\n”) 为什么这样都会说 语句错误。。我是 ruby 1.9.3。。感觉有点坑呢。。
晕死,自己逗号和 引号不注意,说 ruby 坑。。。
你需要一款能明显区分中文和英文标点的字体……
还有,如果方法参数大于 1 个 并且用括号包住的话,中间不能带空格,这个确实是 1.8 和 1.9 的区别,但是 1.8 也是带 warning 的。
print("1 + 1 =",1 + 1, "\n") 这样就好了。
print("1 + 1 =",1 + 1, "\n")
#3 楼 @zgm 哦 谢谢!就是那个空格的问题 :D
#5 楼 @DrinE 空格的问题.........是引号的问题。。。。
- -。这是中英文符号的问题吧
#6 楼 @alsotang #7 楼 @edgar_wang_cn 空格也有问题 1.9 如果方法参数大于 1 个 并且用括号包住的话,中间不能带空格,
#8 楼 @zgm 你这 Ruby 1.9 是山寨货
说的是方法名后面的啊,我还以为逗号之间
#9 楼 @doitian 我自己没说清楚。。。
#10 楼 @zgm 不只 1.9,2.0 也不行
#8 楼 @zgm #9 楼 @doitian zgm 大神,怪我没看清他的代码。我没想到他的代码在 print 后面也有空格....刚才我确认了一下,确实有。
这个问题的话,不管 1.9 还是 2.0 当然都不行哈。一旦方法名后面有了空格,那么空格之后的括号会作为一个整体被传入。而 Ruby 不像 Python 一样拥有一种叫 tuple 的数据类型,所以会报语法错误。 我在 pry 里面试了试, (1,2,3) 这个语句对于 Ruby 来说是个语法错误。
(1,2,3)
#8 楼 @zgm - -。原来你指的是 print 后面的空格。。。