From: usa@... Date: 2019-08-26T14:45:49+00:00 Subject: [ruby-dev:50839] [Ruby master Bug#15906] a=a のような式をもつ条件分岐が意図しない挙動をする Issue #15906 has been updated by usa (Usaku NAKAMURA). Backport changed from 2.4: DONTNEED, 2.5: REQUIRED, 2.6: DONE to 2.4: DONTNEED, 2.5: DONE, 2.6: DONE ruby_2_5 r67757 merged revision(s) a6a26e42b15c46f117f4fce07a2050e9d727355d. ---------------------------------------- Bug #15906: a=a のような式をもつ条件分岐が意図しない挙動をする https://bugs.ruby-lang.org/issues/15906#change-81023 * 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: DONE, 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/