e$BEOJUE/Li$G$9!#e(B
jcode.rb e$B$G%(%i!<$,$G$^$7$?$N$G!"$$7$i$;$7$Fe(B
e$B$$-$^$9!#e(B
$ ruby -v
ruby 1.9.0 (2006-07-07) [i686-linux]
e$B$K$F!"<!$N%9%/%j%W%H$rF0$+$9$He(B
#! /usr/local/bin/ruby -Ke
e$B%F%9%H;~$Oe(B EUC-kanji e$B$G9T$J$$$^$7$?e(B
require ‘jcode’
p ‘abc’.tr(‘a-z’, ‘e$B#ae(B-e$B#ze(B’)
e$B<!$N%(%i!<$,$G$^$9!#e(B
$ ruby -Ke jcode1.rb
/t/lib/ruby/1.9/jcode.rb:83:in String#+': can't convert Fixnum into String (TypeError) from /t/lib/ruby/1.9/jcode.rb:83:in
String#succ!’
from /t/lib/ruby/1.9/jcode.rb:93:in succ' from /t/lib/ruby/1.9/jcode.rb:111:in
_expand_ch’
from /t/lib/ruby/1.9/jcode.rb:100:in _expand_ch' from /t/lib/ruby/1.9/jcode.rb:120:in
expand_ch_hash’
from /t/lib/ruby/1.9/jcode.rb:141:in String#tr!' from /t/lib/ruby/1.9/jcode.rb:147:in
String#tr’
from jcode1.rb:10
zsh: 15666 exit 1 ruby jcode1.rb
e$B$J$+$@$G$9!#e(B
At Fri, 7 Jul 2006 15:16:01 +0900,
WATANABE Tetsuya wrote in [ruby-dev:28979]:
from /t/lib/ruby/1.9/jcode.rb:141:in String#tr!' from /t/lib/ruby/1.9/jcode.rb:147:in
String#tr’
from jcode1.rb:10
String#[]e$B$,0lJ8;z$Ne(BStringe$B$rJV$9$h$&$K$J$C$?1F6A$G$9$M!#e(B
e$B$b$&$R$H$D!"e(BMSBe$B$NN)$C$F$$$kJ8;z$K$D$$$Fe(BString#orde$B$,Ii$NCM$rJV$7e(B
e$B$F$$$^$9!#e(B
$ ./ruby -v -e ‘p “e$B#ae(B”[-1].ord’
ruby 1.9.0 (2006-07-07) [i686-linux]
-31
1.8e$B$Ne(BString#[]e$B$G$O%^%9%/$5$l$F$$$^$9!#e(B
$ ./i486-linux/miniruby -v -e ‘p “e$B#ae(B”[-1]’
ruby 1.8.5 (2006-07-07) [i686-linux]
225
Index: string.c
RCS file: /cvs/ruby/src/ruby/string.c,v
retrieving revision 1.252
diff -p -u -2 -r1.252 string.c
— string.c 3 Jul 2006 20:07:09 -0000 1.252
+++ string.c 7 Jul 2006 07:03:17 -0000
@@ -4071,5 +4071,5 @@ rb_str_ord(VALUE s)
RSTRING(s)->len);
}
- self[-1] += succ_table[self[-1]]
- self[-2] += 1 if self[-1] == 0
- last1 += succ_table[last1]
- last2 += 1 if last1 == 0
- self[-2…-1] = [last2, last1].pack(“C*”)
end while self !~ reg
self
e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B
In message “Re: [ruby-dev:28980] Re: jcode.rb ruby-1.9”
on Fri, 7 Jul 2006 16:12:01 +0900, [email protected] writes:
|At Fri, 7 Jul 2006 15:16:01 +0900,
|WATANABE Tetsuya wrote in [ruby-dev:28979]:
|> e$B<!$N%(%i!<$,$G$^$9!#e(B
|> $ ruby -Ke jcode1.rb
|> /t/lib/ruby/1.9/jcode.rb:83:in `String#+’: can’t convert Fixnum into String (TypeError)
|String#[]e$B$,0lJ8;z$Ne(BStringe$B$rJV$9$h$&$K$J$C$?1F6A$G$9$M!#e(B
|
|e$B$b$&$R$H$D!"e(BMSBe$B$NN)$C$F$$$kJ8;z$K$D$$$Fe(BString#orde$B$,Ii$NCM$rJV$7e(B
|e$B$F$$$^$9!#e(B
|— string.c 3 Jul 2006 20:07:09 -0000 1.252
|+++ string.c 7 Jul 2006 07:03:17 -0000
e$B%3%_%C%H$7$F$/$@$5$$!#e(B