From: rubikitch@... Date: 2008-11-08T06:18:23+09:00 Subject: [ruby-list:45623] String#ljust, center, rjustの挙動 るびきちです。 簡単な表整形のためにString#ljust, String#rjust, String#centerを使っています。 EUC-JPは通常バイト数=文字長であるためRuby 1.8だと決められた幅に配置できました。 しかしRuby 1.9ではASCII文字も日本語文字も長さ1で処理するようになったため、 幅が伸びてしまいます。 決められた幅の文字列において整形できると嬉しいです。 #!/usr/local/bin/ruby -Ke # -*- coding: euc-jp -*- RUBY_VERSION # => "1.8.7" s = "日本語" s.center(10) # => " 日本語 " s.ljust(10) # => "日本語 " s.rjust(10) # => " 日本語" #!/usr/local/bin/ruby -Ke # -*- coding: euc-jp -*- RUBY_VERSION # => "1.9.0" s = "日本語" s.center(10) # => " 日本語 " s.ljust(10) # => "日本語 " s.rjust(10) # => " 日本語" -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/