2016-08-05 6 views
0

私はRubyの新機能です。私は空値を得ている理由を、私は見ていないので、そもそもそこに10を割り当てた.I a ==12ため私は値を割り当てても、なぜ空値の表現を得ているのですか?

a = 10 

while a < 20 do 
puts "True" 
a++ 

next unless a == 12 
puts "This is not 12" 
end 


$end 

しかし、私は取得しています空値式:私は、次のコードブロックを持っています。

+1

'++' Rubyで存在していないオペレータ – Ursus

+0

'$のend'を引き上げます'aa'が' a + = 1'に置き換えられた場合の例外 –

答えて

0

と仮定

a = 2 

次は5を返し、すべての等価です。

a++ 3 
a + +3 
a + + 
3 
a++ 

3 

したがって、

a++ 

next unless a == 12 

a + +next unless a == 12 

next unless a == 12が(メソッド:+に送信される)の値を返さないので、これは"void value expression"例外を発生さと同じです。

修正は、もちろん、

a = a + 1 

またはその省略形でa++を交換することである

a += 1 
関連する問題