[#6862] Re: http_get.rb — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-list:6844] Re: http_get.rb
藤本です、こんにちは。
まつもと ゆきひろです
藤本です、こんにちは。
まつもと ゆきひろです
[#6889] lib/date.rb — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
[#6906] ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>
藤本です、こんにちは。
まつもと ゆきひろです
藤本です、こんにちは。
小澤さくです。
藤本です、こんにちは。
藤本です、こんばんは。
まつもと ゆきひろです
にしなです。
[#6918] manual 1.18b index — WATANABE Tetsuya <tetsu@...>
ruby-man-1.1b8 で、name タグがついているものを拾い集めて
まつもと ゆきひろです
小澤さくです。
まつもと ゆきひろです
小澤さくです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
前田です。
まつもと ゆきひろです
前田です。
[#6929] Expect lib for ruby — nosuzuki@... (Norio Suzuki)
はじめまして。Perl から ruby or python に乗り換えようと考えている鈴木
[#6954] Re: ruby's Icon ? — nosuzuki@... (Norio Suzuki)
こんばんは。鈴木教郎です。
まつもと ゆきひろです
小澤さくです。
Thu, Mar 05, 1998 at 02:52:26PM +0900 において
まつもと ゆきひろです
原です。
[#6978] win32 版 ruby の getc について — ARIMA Yasuhiro <fit0298@...>
はじめまして。有馬と申します。
[#6983] ext POSIX.setsid — WATANABE Tetsuya <tetsu@...>
拡張ライブラリの作り方はこんな感じでいいでしょうか?
[#7004] gtk 0.99.4 and gtk module — Noritsugu Nakamura <nnakamur@...>
[#7008] builtin class inherit — TEI meiki <tei@...>
鄭です。
前田です。
まつもと ゆきひろです
鄭です。
まつもと ゆきひろです
[#7022] スレッドの終了待ち — densuke@...2.so-net.or.jp
佐藤@東邦大です。
[#7023] infinity — Tadayoshi Funaba <tadf@...>
ふなばです。
前田です。
けいじゅ@日本ラショナルソフトウェアです.
In message <199803091741.CAA05774.keiju@cupmail0.rational.com>
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
In message <199803100359.MAA08628.keiju@cupmail0.rational.com>
けいじゅ@日本ラショナルソフトウェアです.
前田です。
[#7083] about rbc — Kazuhisa YANAGAWA <katze@...>
rbc について二つ質問があります.
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
[#7107] calender-html.rb (Re: call for scripts) — Shin-ichiro HARA <sinara@...>
原です。
原です。
原です。
ごとけんです
原です。
原です。
[#7111] How to simulate Perl's DATA file handle — OZAWA Sakuro <crouton@...>
小澤さくです.
[#7126] do end or {} — Eiji-usagi-MATSUmoto <ematsu@...>
うさぎです
[#7145] gsub — WATANABE Tetsuya <tetsu@...>
gsub について
[#7147] each_char — TEI meiki <tei@...>
鄭です。
[#7153] please apply me — SHUDOH Kazuyuki <shudoh@...>
首藤といいます。
まつもと ゆきひろです
[#7192] I hope join. — Takashi Shimizu <simtak@...>
清水と申します。
[#7208] for in bsh — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
まつもと ゆきひろです
小澤さくです。
まつもと ゆきひろです
前田です。
けいじゅ@日本ラショナルソフトウェアです.
[#7222] jcode.rb — NAGAI Hidetoshi <nagai@...>
はじめまして.永井@知能.九工大と申します.
[#7232] final.rb error? — tateishi@...
立石です。
まつもと ゆきひろです
立石です。
In message <19980326102918.3974.qmail@localhost>
まつもと ゆきひろです
In message <199803270403.NAA00909@picachu.netlab.co.jp>
[#7238] Forward: 自己再生プログラム — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#7244] [Q] test file1 -nt file2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#7257] TkScale.new(parent){to -0.1} — gotoken@... (GOTO Kentaro)
ごとけんです
[#7259] Socket#shutdown — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[ruby-list:7222] jcode.rb
はじめまして.永井@知能.九工大と申します.
ruby の勉強を始めて 10 日程度の初心者です.
jcode.rb に関連して二点ほど質問があります.
一点目は mbchar? についてですが,
これはなぜこのような仕様になっているのでしょうか.
現在の仕様ではある s という String に 2byte 文字が含まれているかを
確認したい場合,メソッド mbchar?(s) を何らかの String オブジェクトに
渡してやる必要があるように見えます.
この受け手のオブジェクトは mbchar? には何の関係もないものですから,
どうにも不自然に感じます.
s.mbchar? とする方が自然に感じるのですが...
ML の過去ログは量が多すぎて調べていません.
# すみません (_O_)
もし何らかの議論の末,このような仕様となっているのでしたら,
そのポインタを教えていただけると幸いです.
二点目は squeeze というか,gsub に関することです.
jcode.rb での squeeze の再定義では,
self.gsub!(/(.|\n)\1+/, '\1')
という処理が行われていますが,これが期待するように動いていないようです.
ruby-1.1b9 を Linux (kernel2.0.33, libc.so.5.4.38), gcc-2.7.2.3 の環境です.
たとえば,"aaaaabbbbccc".gsub(/(.|\n)\1+/, '\1')
は "aaabbccd" となりますし,
"aaaaabbbbccc".gsub(/(.|\n)(\1)+/, '\1')
としても "aaabbccd" となります.
"aaaaabbbbccc".gsub(/(.|\n)\1\1*/, '\1')
の場合も "aaabbccd" となります.
"aaaaabbbbccc".gsub(/(.|\n)(?:\1)+/, '\1')
とした場合に,ようやく "abcd" となります.
どうも参照と + や * の組が期待通りではないように見えます.
以上の二点のため,とりあえず以下のようにパッチをあてて使っています.
------------------------------------------------------------
--- jcode.rb.orig Thu Mar 26 13:06:52 1998
+++ jcode.rb Thu Mar 26 13:07:01 1998
@@ -11,11 +11,11 @@
alias original_succ succ
private :original_succ
- def mbchar?(c)
+ def mbchar?
if $KCODE =~ /^s/i
- c =~ /[\x81-\x9f\xe0-\xef][\x40-\x7e\x80-\xfc]/n
+ self =~ /[\x81-\x9f\xe0-\xef][\x40-\x7e\x80-\xfc]/n
elsif $KCODE =~ /^e/i
- c =~ /[\xa1-\xfe][\xa1-\xfe]/n
+ self =~ /[\xa1-\xfe][\xa1-\xfe]/n
else
FALSE
end
@@ -25,7 +25,7 @@
if self[-2] && self[-2] & 0x80 != 0
s = self.dup
s[-1] += 1
- s[-1] += 1 if !mbchar?(s)
+ s[-1] += 1 if !s.mbchar?
return s
else
original_succ
@@ -41,7 +41,7 @@
if self[0..-2] == to[0..-2]
first = self[-2].chr
for c in self[-1] .. to[-1]
- if mbchar?(first+c.chr)
+ if first+c.chr.mbchar?
yield self[0..-2]+c.chr
end
end
@@ -137,7 +137,7 @@
end
adel = del._expand_ch
if comp
- self.gsub!(/(.|\n)\1+/) do
+ self.gsub!(/(.|\n)(?:\1)+/) do
next unless adel.include?($1)
$&
end
@@ -149,7 +149,7 @@
end
self
else
- self.gsub!(/(.|\n)\1+/, '\1')
+ self.gsub!(/(.|\n)(?:\1)+/, '\1')
end
end
------------------------------------------------------------
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp