[#47383] [ruby-trunk - Feature #8469][Open] ABI checker とか導入しませんか — "kosaki (Motohiro KOSAKI)" <kosaki.motohiro@...>

21 messages 2013/06/01
[#47394] [ruby-trunk - Feature #8469] ABI checker とか導入しませんか — "usa (Usaku NAKAMURA)" <usa@...> 2013/06/04

[#47395] Re: [ruby-trunk - Feature #8469] ABI checker とか導入しませんか — KOSAKI Motohiro <kosaki.motohiro@...> 2013/06/04

> CIに組み込んでもらえるとちょー助かる感じですぅ

[#47396] Re: [ruby-trunk - Feature #8469] ABI checker とか導入しませんか — Tanaka Akira <akr@...> 2013/06/04

2013年6月4日 14:23 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#47397] Re: [ruby-trunk - Feature #8469] ABI checker とか導入しませんか — KOSAKI Motohiro <kosaki.motohiro@...> 2013/06/04

>> CI って誰に相談すればいいんですかね。今のツールだと比較対象のバイナリまたは

[#47399] Re: [ruby-trunk - Feature #8469] ABI checker とか導入しませんか — Tanaka Akira <akr@...> 2013/06/05

2013年6月4日 15:26 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#47402] Re: [ruby-trunk - Feature #8469] ABI checker とか導入しませんか — KOSAKI Motohiro <kosaki.motohiro@...> 2013/06/05

>>> 比較対象を用意しないといけないのが面倒くさそうでほったらかしてたんですが。

[#47422] [ruby-trunk - Feature #8526][Open] Removing tk from Ruby repository — "naruse (Yui NARUSE)" <naruse@...>

26 messages 2013/06/14

[ruby-dev:47457] [ruby-trunk - Bug #8552][Rejected] ifやwhile構文の条件式中に多重代入文を入れると正しく解釈されません

From: "matz (Yukihiro Matsumoto)" <matz@...>
Date: 2013-06-20 21:51:46 UTC
List: ruby-dev #47457
Issue #8552 has been updated by matz (Yukihiro Matsumoto).

Status changed from Open to Rejected

エラーメッセージにもある通り、現在多重代入を条件式に入れることを意図的に禁止しています。

多重代入はかならず真になるため、条件に登場するのは本質的には無意味で、「わざと」か「書き間違い」かのいずれかです。これを許すよりは書き間違いを検出する方が適切だと考えます。

Matz.

----------------------------------------
Bug #8552: ifやwhile構文の条件式中に多重代入文を入れると正しく解釈されません
https://bugs.ruby-lang.org/issues/8552#change-40070

Author: YukiHoshino (Yuki Hoshino)
Status: Rejected
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3p429 (2013-05-15) [i386-mingw32]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


再現コード
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"が実行されるべきと考えます。


-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next