[#1219] ruby animal — OZAWA Sakuro <crouton@...>

小澤さく@塩尻Internetです.

18 messages 1996/12/09

[#1256] ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

21 messages 1996/12/12
[#1257] Re: ruby 0.99.4-961212 available — Yasuo OHBA <jammy@...> 1996/12/12

大庭@SHLJapanです.

[#1258] Re: ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto) 1996/12/12

まつもと ゆきひろです.

[#1259] Re: ruby 0.99.4-961212 available — WATANABE Hirofumi <watanabe@...> 1996/12/12

わたなべです.

[#1261] Re: ruby 0.99.4-961212 available — matz@... (Yukihiro Matsumoto) 1996/12/12

まつもと ゆきひろです.

[#1290] ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

32 messages 1996/12/17
[#1300] Re: ruby 0.99.4-961217 will be available — sinara@... 1996/12/17

原です。

[#1305] Re: ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto) 1996/12/17

まつもと ゆきひろです.

[#1308] Re: ruby 0.99.4-961217 will be available — gougi@... (Shigeru Gougi) 1996/12/17

ごうぎ@TCIです。

[#1341] Re: ruby 0.99.4-961217 will be available — matz@... (Yukihiro Matsumoto) 1996/12/18

まつもと ゆきひろです.

[#1342] Re: ruby 0.99.4-961217 will be available — sinara@... 1996/12/18

原です。

[#1345] [BUG?] access string out of range — sinara@... 1996/12/18

原です。

[#1330] Re: Rational and Complex — Shin-ichiro Hara <sinara@...>

原です。

30 messages 1996/12/17
[#1335] Re: Rational and Complex — sinara@... 1996/12/18

原です。

[#1359] Re: Rational and Complex 1996/12/18

けいじゅ@SHLジャパンです.

[#1423] 配列への grep — (Dezawa Shin-ichiro) <dezawa@...>

出沢です

14 messages 1996/12/23

[#1469] wish ... — Noritugu Nakamura <nnakamur@...>

25 messages 1996/12/24
[#1470] Re: wish ... — matz@... (Yukihiro Matsumoto) 1996/12/24

まつもと ゆきひろです.

[ruby-list:1246] jtr (Re: ruby 0.99.3-961210 available)

From: sinara@...
Date: 1996-12-11 08:25:56 UTC
List: ruby-list #1246
原です。

> まつもと ゆきひろです
> 
> ruby 0.99.3-961210をリリースします.

もう 1.00.0 直前の雰囲気。(^_^)


> jcode.rbがtrだけではなく,squeeze, delete, tr_sにも対応して
> います.あと,正規表現に関するバグがいくつか直ってます.

おお、一気に!

眺めてみましたが、これを見るまで gsub! がイテレータブロックで
|c| の様な引数を取るとは知りませんでした。多分マニュアルにも
ないと思うので、書き加えてください。


それから、_expand_ch を見て思ったのですが、文字列のパターン
毎の処理は、いままで

s = str.dup; s.gsub!(/<pattern>/) { ... }

あるいは、

s = str.dup; while s.sub!(/<pattern>/, '') { ... }

と書いたわけですが、これではしばしば不必要な文字列の生成や変形
を伴うので不効率です。で、今後は scan を使って、

str.scan(/<pattern>/) { ... }

と書くことが推奨されるのではないかと思うのですが、どうでしょう。


例えば今回の jcode.rb では

  def _expand_ch
    a = nil
    s = self.dup
    s.gsub!(/(.|\n)-(.|\n)/) do |r|
      a = []
      if $1.length != $2.length
	next
      elsif $1.length == 1
	$1[0].upto($2[0]) { |c| a.push c.chr }
      else
	$1.upto($2) { |c| a.push c }
      end
      a.join('')
    end
    s.split(//)
  end

となっていますが、

  def _expand_ch
    a = []
    self.scan(/(.|\n)-(.|\n)|(.|\n)/) do
      if $3
	a.push $3
      elsif $1.length != $2.length
	next
      elsif $1.length == 1
	$1[0].upto($2[0]) { |c| a.push c.chr }
      else
	$1.upto($2) { |c| a.push c }
      end
    end
    a
  end

というふうになるわけです。

ところで scan のイテレータブロックでも $&, $1, $2,.. は参照できる
んですね。完璧。(^_^) でも Change.log にも scan の文字はないし、ま
だ正式採用ではないのかな。
---===-=-=-=-=-=-=-=-=======--=-=-=-==-=-===-=-=-=-=-=-=--=-==-=--
                            Shin-ichro Hara(Nagaoka Univ.of Tech.)


In This Thread