[#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:1208] Re: ruby 0.99.3-961204

From: Shin-ichiro Hara <sinara@...>
Date: 1996-12-08 04:06:36 UTC
List: ruby-list #1208
原です。


> まつもと ゆきひろです.

> まずsuccとuptoは表裏一体なので,動きを合わせたい(jcode.rbで
> uptoを書き換えるならsuccも書き換えたい)のが,主な理由です.

そういうことでしたか。

> さらにuptoはperlのstring increment magicに該当する処理を行っ
> ているので,もともとの原さんのuptoでは仕様を満足していません.

もちろんそうですね。私は succ と upto は、別々でいいんじゃな
いかと思っていたんで。


>|> |後、/./ は "\n" にマッチしないので、jtr の引数には出来ません。
> こいつはできるようになりました.新しいjcode.rbを後ろにつけて
> おきます.

なるほど、こうするのか。ここでは _expnad_ch は、モロに String#upto
を使うことを止めていますね。

ここでも "\n-A" の様な表現は - による展開はしてくれません。
こうすればどうかな。

  def grep_ch(item)
    len = self.length
    i = 0
    while i < len && j = (item === self[i..-1])
      yield $&
      i += j + $&.length
    end
  end
  
  def _expand_ch
    a = []
    grep_ch(/(.|\n)-(.|\n)|(.|\n)/) do |r|
      if r =~ /(.|\n)-(.|\n)/
        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
      else
        a.push r
      end
    end
    a
  end


> まずrubyはいつも複数行に対応しています.つまりいつでもmオプ
> ションを指定していることになりますね.

そうだったんですか。知らなかった。(^^;


> sオプションとかは悩ましいですねえ.

これは . で \n を排除するのを止めるだけでは?中身を知らずに
物を言ってますが。(^^;


> マッチの情報を配列で返せれば満足できますか?
> たとえば
> 
>  "a;b;c;" =~ /(.);(.);(.);/
>  array = $~.to_a
> 
> のような形で.gpickはちょっと違うもののようですけど.

なるほどこれでもいいですね。大域変数を使うのがちょっと気
になるけど。$~ って大域変数ですよね?そういえば $~ という
のはのぞいてみたことがありませんでした。これの正体は何で
しょう。謎めいてますね。


>|さらに「反復子」のある正規表現

> で,これは実現するにはString#grepが行単位でなく文字単位でマッ
> チすれば良いようにも思いますけど.どうなんでしょう? もとも
> とString#grepを行単位にする必然性はあまりないようですし.

String#grep が行単位でなくなるということは、each が行単位なの
で、grep が each から Enumerable モジュールで直接派生したもの
でなくなりますね。いいのかな。

試しに上の grep_ch を作ってみたんですが、やはり

"abc".grep_ch(/(.)/) { |x| print $1, "\n" }

としても $1 が有効にならないのでいまいちでした。


#ところで、今
#"abc" =~ /./; print $~, "\n"
#をしたら Segmentation fault を起こしました。(^^;

In This Thread

Prev Next