Project

General

Profile

Actions

Bug #8552

closed

ifやwhile構文の条件式中に多重代入文を入れると正しく解釈されません

Added by YukiHoshino (Yuki Hoshino) almost 11 years ago. Updated almost 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p429 (2013-05-15) [i386-mingw32]
[ruby-dev:47456]

Description

再現コード
puts "ok" if (a,b=0,0)

ruby -v
ruby 1.9.3p429 (2013-05-15) [i386-mingw32]

実行結果
bug.rb:1: multiple assignment in conditional
puts "ok" if (a,b=0,0)
^

多重代入文では右辺を評価した結果得られる配列が、文全体の戻り値になるはずです。
よって、この場合は[0,0]となり、falseでもnilでもないのでputs "ok"が実行されるべきと考えます。

Actions

Also available in: Atom PDF

Like0
Like0