From: matz@... (Yukihiro Matsumoto) Date: 2002-12-10T02:21:18+09:00 Subject: [ruby-dev:19039] Re: spec. of format "%.nx" まつもと ゆきひろです In message "[ruby-dev:19032] Re: spec. of format "%.nx"" on 02/12/08, Koji Arai writes: |じゃあ、 | | p sprintf("%-.10x", -1) # => ".........f" | |っとなるのもおかしな気がしますね。(左詰めにすると . が増える |というのはどういうことだろう?) | | p sprintf("%.10x", -1) # => "ffffffffff" | p sprintf("%-.10x", -1) # => "ffffffffff" | p sprintf("%15.10x", -1) # => ".....ffffffffff" | p sprintf("%-15.10x", -1) # => "..ffffffffff " | |が、定義にそった動作になるでしょうか? "." は常に2つだけとし |た方がいいかもしれません、そうすると むむむ、でもprecision指定があるときには . はでないというのが [ruby-dev:18910]での結論なので、 p sprintf("%-.10x", -1) # => "ffffffffff" p sprintf("%.10x", -1) # => "ffffffffff" p sprintf("%-.10x", -1) # => "ffffffffff" p sprintf("%15.10x", -1) # => " ffffffffff" p sprintf("%-15.10x", -1) # => "ffffffffff " じゃないかなあと。現状はそうなってないので直さないといけませ んね。 |ふと以下はどうなるんだろうと思ったら | | p sprintf("%05.3d", 1) | |=> ruby 1.6.7 (2002-03-01) [i586-linux] | "00001" |=> ruby 1.7.3 (2002-12-04) [i586-linux] | "00001" これも直します。