相关疑难解决方法(0)

未定义的方法'+ @'

我不明白为什么这不起作用; 所有三个元素都应该是字符串.

i = 5
base = "somestring"
base = i.to_s +" #{base} " + i.to_s # => Undefined method '+@'
Run Code Online (Sandbox Code Playgroud)

为什么它将其解释为一种方法?我想也许它与设置base相当于自身的一部分有关,但这似乎有效:

base = "#{base}"
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
1
解决办法
365
查看次数

一元减号对于数字文字是否应该具有更高的优先级?

当涉及数字文字时,一元减号似乎具有特殊的优先级。这是有记录的行为吗?

我见过的优先级表(例如here)甚至没有提到点(方法调用)运算符。

在 ruby​​ 2.3.6 上测试:

puts "=== literal integer ==="
# `-` has higher precedence than `.`
p( -1.abs )   # => 1
p( -(1.abs) ) # => -1 (previous line should match this if `.` had higher precedence)

puts "=== literal float ==="
# again `-` has higher precedence than `.`
p( -1.2.abs )   # => 1.2
p( -(1.2.abs) ) # => -1.2 (previous line should match this if `.` had higher precedence)

puts "=== integer …
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
1
解决办法
194
查看次数

标签 统计

ruby ×2