Ruby 为什么我';我得到了一个空值表达式,虽然我已经赋值了
我对ruby是个新手。我有以下代码块:Ruby 为什么我';我得到了一个空值表达式,虽然我已经赋值了,ruby,Ruby,我对ruby是个新手。我有以下代码块: a = 10 while a < 20 do puts "True" a++ next unless a == 12 puts "This is not 12" end $end a=10 而a
a = 10
while a < 20 do
puts "True"
a++
next unless a == 12
puts "This is not 12"
end
$end
a=10
而a<20
“真的”
a++
下一步,除非a==12
写着“这不是12”
结束
$end
但是,我得到的是
a==12的void值表达式。我首先在其中指定了10,所以我不明白为什么会得到void值。将a++
替换为a+=1
应该有用
Ruby没有++
操作符。
将a++
替换为a+=1
应该有用
Ruby没有++
操作符。
假设
a = 2
以下内容都是等效的,返回5
a++ 3
a + +3
a + +
3
a++
3
所以,
a++
next unless a == 12
与
a + +next unless a == 12
这将生成一个“void value expression”
异常,因为下一步除非a==12
不返回值(要发送到方法:+
)
当然,解决办法是将a++
替换为
a = a + 1
或者它的缩写形式
a += 1
假设
a = 2
以下内容都是等效的,返回5
a++ 3
a + +3
a + +
3
a++
3
所以,
a++
next unless a == 12
与
a + +next unless a == 12
这将生成一个“void value expression”
异常,因为下一步除非a==12
不返回值(要发送到方法:+
)
当然,解决办法是将a++
替换为
a = a + 1
或者它的缩写形式
a += 1
++
运算符在Ruby中不存在$end
将引发异常,如果aa
被a++=1
++
运算符在Ruby中不存在$end
将引发异常,如果aa
被a++=1