[ruby-list:50782] Re: [質問] a=a があると動作が異常
From:
Tanaka Akira <akr@...>
Date:
2019-06-07 01:35:09 UTC
List:
ruby-list #50782
2019年6月7日(金) 10:20 nekomura <mimomakun@gmail.com>:
> 下記スクリプトの結果が期待と違います。なぜでしょうか?
> 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]