Project

General

Profile

Actions

Bug #624

closed

ArgumentError on "%c" % 0x80

Added by naruse (Yui NARUSE) over 15 years ago. Updated almost 13 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
Backport:
[ruby-dev:36694]

Description

=begin
成瀬です。

Tanaka Akira wrote:

In article ,
Tanaka Akira writes:

"%c" % 0x80 が例外になります。

うぅむ。ロケールに依存しているようですね。

EUC-JP ではおきます。

% LANG=ja_JP.EUC-JP ./ruby -ve '"%c" % 0x80'
ruby 1.9.0 (2008-10-09 revision 19725) [i686-linux]
-e:1: warning: useless use of % in void context
-e:1:in %': negative string size (or size too big) (ArgumentError) from -e:1:in '
zsh: exit 1 LANG=ja_JP.EUC-JP ./ruby -ve '"%c" % 0x80'

UTF-8 ではおきません。

% LANG=ja_JP.UTF-8 ./ruby -ve '"%c" % 0x80'
ruby 1.9.0 (2008-10-09 revision 19725) [i686-linux]
-e:1: warning: useless use of % in void context

7bit な文字列のエンコーディングを US-ASCII にしなくなったこ
との影響ともいえるかなぁ。

printf("%c", codepoint) という解釈になりますので、
EUC-JP で例外というのは妥当な動作だと思います。

例外の内容が誤っている気はしますね。

--
NARUSE, Yui
=end

Actions

Also available in: Atom PDF

Like0
Like0