我是红宝石的新手。我有以下代码块:
colMeans(y[sapply(y, is.numeric)], na.rm=TRUE)
但是,我正在为a = 10
while a < 20 do
puts "True"
a++
next unless a == 12
puts "This is not 12"
end
$end
获取无效值表达式。我已经为其分配了10个,所以我不知道为什么我会得到无效值。
答案 0 :(得分:2)
a++
替换a += 1
应该工作。
Ruby没有++
运算符。
No increment operator (++) in Ruby?
答案 1 :(得分:0)
假设
a = 2
以下都是等效的,返回5
。
a++ 3
a + +3
a + +
3
a++
3
因此,
a++
next unless a == 12
与
相同a + +next unless a == 12
这会生成"void value expression"
例外,因为next unless a == 12
没有返回值(要发送到方法:+
)。
当然,修复方法是将a++
替换为
a = a + 1
或其缩写形式
a += 1