From: Kazuhiko Date: 2003-09-03T14:54:09+09:00 Subject: [ruby-list:38345] Re: String#reverse! のバグ? かずひこです。 At Wed, 3 Sep 2003 14:47:15 +0900, U.Nakamura wrote: > | 1バイト文字列はリバースしても「変化がない」からじゃないです > | かね。あれ、sortとreverseは特別扱いするんでしたっけ。 > > Array#reverse!は特別扱いしてますね。 > その理由が「String#reverse!に合わせるため」だとリファレンスに > は書いてあったりします。 > > String#reverse!の変更理由がログに書いてないので、元に戻す、に > 一票。 Array の方は、String と逆に、ruby-1.6 だと nil になっていますね... ● ruby 1.8.0 (2003-09-02) irb(main):001:0> [1].sort => [1] irb(main):002:0> [1].sort! => [1] irb(main):003:0> [1].reverse => [1] irb(main):004:0> [1].reverse! => [1] ● ruby 1.6.8 (2002-12-24) irb(main):001:0> [1].sort => [1] irb(main):002:0> [1].sort! => nil irb(main):003:0> [1].reverse => [1] irb(main):004:0> [1].reverse! => nil 個人的には、変化がなくても、nil ではなく「変化のない結果」を返す方が直感 的だと思いますがいかがでしょうか? -- かずひこ ★シャア「名字が付いてない」 ☆一兵卒「あんなの飾りです。偉い人にはそれが分からんのです」