From: Tanaka Akira Date: 2019-06-07T10:35:09+09:00 Subject: [ruby-list:50782] Re: [質問] a=a があると動作が異常 2019年6月7日(金) 10:20 nekomura : > 下記スクリプトの結果が期待と違います。なぜでしょうか? > 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 お、面白いですね。 all-ruby で試すと、ruby-2.5.2 から ruby-2.5.6 および ruby-2.6.0-preview3 以降で発生するようです。 % all-ruby -e ' a = "aaa" if a == "bbb" || a == "ccc" then a = a else puts "OK" end puts "END" ' ... ruby-1.1b0 OK END ... ruby-2.5.1 OK END ruby-2.5.2 END ... ruby-2.5.5 END ruby-2.6.0-preview1 OK END ruby-2.6.0-preview2 OK END ruby-2.6.0-preview3 END ... ruby-2.7.0-preview1 END -- [田中 哲][たなか あきら][Tanaka Akira]