新手问题 一个很简单的问题

drine · 2013年05月04日 · 最后由 edgar_wang_cn 回复于 2013年05月07日 · 2201 次阅读

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") 这样就好了。

#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 来说是个语法错误。

#8 楼 @zgm - -。原来你指的是 print 后面的空格。。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号