[ruby-dev:50822] [Ruby master Bug#15906] a=a のような式をもつ条件分岐が意図しない挙動をする
From:
nagachika00@...
Date:
2019-07-28 14:17:00 UTC
List:
ruby-dev #50822
Issue #15906 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 2.4: DONTNEED, 2.5: REQUIRED, 2.6: REQUIRED to 2.4: DONTNEED, 2.5: REQUIRED, 2.6: DONE
ruby_2_6 r67716 merged revision(s) a6a26e42b15c46f117f4fce07a2050e9d727355d.
----------------------------------------
Bug #15906: a=a のような式をもつ条件分岐が意図しない挙動をする
https://bugs.ruby-lang.org/issues/15906#change-80149
* Author: nagachika (Tomoyuki Chikanaga)
* Status: Closed
* Priority: Normal
* Assignee: nobu (Nobuyoshi Nakada)
* Target version:
* ruby -v: 2.6.3
* Backport: 2.4: DONTNEED, 2.5: REQUIRED, 2.6: DONE
----------------------------------------
[ruby-list:50781] から一部転載します。
```
下記スクリプトの結果が期待と違います。なぜでしょうか?
a = a は不要ですが、なにもしないことを明示するために書いたものです。
なおOS付属の ruby 2.3.7p456 では期待通りの結果でした。
a = "aaa"
if a == "bbb" || a == "ccc" then
a = a
else
puts "OK"
end
puts "END"
実行結果
END
期待する結果
OK
END
動作環境
MacOS 10.13.6
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
macportsでインストール
```
r63870 から発生するようになっているようです。
--
https://bugs.ruby-lang.org/