まつもと ゆきひろです
In message "[ruby-list:9463] Re: inspect の動作"
on 98/09/06, Makoto Tagusari <mtag / ca2.so-net.or.jp> writes:
|皆さんこんにちは、田鎖です。
|
|ruby-1.1c4 試してみました。問題無く動きます。関係者の皆さん どうもあり
|がとうございました。
そりはよかった.
|所で、jcode.rb を require すると以下の動きが違ってきます。
|jcode.rb あり
|
|"".delete "a" # "a" は、何でも良い
|(戻り) nil
|とりあえず、私は、jcode.rb の該当箇所の最後に xx.to_s して逃げています
|が、どこを直すのが正しいのでしょうか。
jcode.rbのバグと考えるべきでしょう.むかし,delete!などの挙
動が変わった時にjcode.rbの対応を忘れたのが原因です.パッチを
付けておきます.
--- jcode.rb 1998/04/09 09:58:00 1.1.1.1.4.3
+++ jcode.rb 1998/09/07 01:42:06
@@ -60,2 +60,11 @@
+ def _debang(str)
+ if str == nil
+ self
+ else
+ str
+ end
+ end
+ private :_debang
+
def _expand_ch
@@ -106,3 +115,3 @@
def tr(from, to)
- self.dup.tr!(from, to)
+ _debang(self.dup.tr!(from, to))
end
@@ -129,3 +138,3 @@
def delete(del)
- self.dup.delete!(del)
+ _debang(self.dup.delete!(del))
end
@@ -157,3 +166,3 @@
def squeeze(del=nil)
- self.dup.squeeze!(del)
+ _debang(self.dup.squeeze!(del))
end
@@ -190,3 +199,3 @@
def tr_s(from, to)
- self.dup.tr_s!(from,to)
+ _debang(self.dup.tr_s!(from,to))
end
@@ -204,3 +213,3 @@
def chop
- self.dup.chop!
+ _debang(self.dup.chop!)
end