【发布时间】:2016-12-12 07:03:46
【问题描述】:
这是通过 Rinda 使用元组空间,我在这里有一堆“放置”来查看控制台中发生的每个步骤,但我认为这不是很重要。重要的是当我运行这段代码时:
while(true)
ts.take(["empty"])
tag, rear = ts.read( ["rear", Numeric])
puts "11"
value = 7
puts "12"
ts.write(["buf", rear, value])
puts "13"
puts "have some words"
puts "14"
tag, rear = ts.take( ["rear", Numeric])
puts "15"
(rear += 1) % n = rear
puts "16"
ts.write(["rear", Numeric])
puts "17"
ts.write(["full"])
puts "18"
end
我得到错误:
"未定义的方法 `+' for Numeric:Class (NoMethodError)"
为什么?我该如何解决?
【问题讨论】:
-
NoMethodError具体是在哪里提出的?你希望(rear += 1) % n = rear做什么? -
“puts 15”后停止运行并返回错误。我希望它在后面加上 1,然后对 n 取模。 n 在代码前面定义为 80
-
返回相同的错误。我认为问题不在于赋值语句,而在于 Numeric 类的工作原理?
-
puts rear.inspect在puts "15"之后返回什么? -
它只返回:数字