【发布时间】:2013-08-09 16:34:34
【问题描述】:
可能重复 String concatenation in Rails 3
我使用 Ruby 2.0.0-p247。
+@ 和-@ 会在你不注意空格的情况下导致NoMethodError。
如果您将字符串棒与+ 和- 放在一起,您将看到NoMethodError
pry> +""
NoMethodError: undefined method `+@' for "\n":String
pry> -""
NoMethodError: undefined method `-@' for "\n":String
更多错误示例:
1.
pry> x + "\n"
NameError: undefined local variable or method `x' for main:Object
pry> x +"\n"
NoMethodError: undefined method `+@' for "\n":String
2.
pry> def x
pry> def x; 1; end
pry> x +"\n"
NoMethodError: undefined method `+@' for "\n":String
3.
pry> class X
pry> def y
pry> 1
pry> end
pry> end
=> nil
pry> x = X.new
=> #<X:0x00000100ce48b0>
pry> x.y +"\n"
NoMethodError: undefined method `+@' for "\n":String
我发现有一个叫TkVariable的东西,但这与TkVariable无关。
这大约是+ 优先级。有人可以解释 + 与 String 一起使用时的含义吗?
谢谢!
【问题讨论】:
-
你可以在这个网站上搜索时髦的符号 - 例如。尝试搜索 [ruby] "+@"。
-
是的!但我想知道这两个字符串。在其他情况下,它是一元运算符。
-
我不明白。 Ruby 告诉你它们不存在于字符串中。
-
如果你想为
x:x + "\n"连接一个“\n”但是你输入了一个错误并输入了x +"\n",那么就会出现这个错误。 -
@Babai 我很困惑为什么
+不与左侧先结合。
标签: ruby