[#20083] non-block IO with TCPSocket — dn <daisuke@...>

初投稿の中村と申します。よろしくお願いします。

19 messages 2000/01/06
[#20084] Re: non-block IO with TCPSocket — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/01/06

越水です。

[#20091] Re: non-block IO with TCPSocket — とみたまさひろ <tommy@...> 2000/01/06

とみたです。

[#20133] おききしたーいでーす — akimaru <akimaru@...>

17 messages 2000/01/09
[#20138] Re: おききしたーいでーす — akimaru <akimaru@...> 2000/01/09

[#20237] Ruby/Tk multi interpreter — nagai@...

永井@知能.九工大です.

21 messages 2000/01/17
[#20242] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/17

永井@知能.九工大です.

[#20248] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/17

石橋秀仁です。

[#20254] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/18

永井@知能.九工大です.

[#20271] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/18

石橋秀仁です。

[#20249] FTP.open err for Windows95 — "Y Kataoka" <kataoka@...>

初めまして、片岡@KLUGと申します。

18 messages 2000/01/17
[#20252] Re: FTP.open err for Windows95 — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/18

なひです.

[#20342] How to build ruby(current) with cygwin — KORIYAMA Naohiro <kory@...2.so-net.ne.jp>

はじめまして、こおりやまです。

19 messages 2000/01/23
[#20362] Re: How to build ruby(current) with cygwin — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/01/24

わたなべです.

[#20422] Re: How to build ruby(current) with cygwin — Masaki Suketa<CQN02273@...> 2000/01/29

Win32OLE の作者の助田です.

[#20394] ruby-1.4.3 port to HPUX 11.00 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2000/01/26

[ruby-list:20297] Re: RD with method index (again)

From: Minero Aoki <aamine@...>
Date: 2000-01-20 06:38:42 UTC
List: ruby-list #20297
あおきです。

  In mail "[ruby-list:20291] Re: RD with method index (again)"
    Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp> wrote:

> Toshです。

> >next_token の中で、shift ではなくインデックスを使って指定するように
> >すればうまくいきませんか?

> あ、いや、そういう意味ではなくて、
>   * 現在のRDtoolのパーサはTextBlockに還元された時点でインライン用の
>     パーサに渡してインラインをパースしている。
>   * したがって、インラインをパースしているときには、IO#linenoの値は
>     TextBlockの最後の行。
>   * つまりインラインがその途中でエラーになるとエラー行表示はちょっと
>     大きい値を返して来ることに。
> ということです。

すみません、簡略化しすぎました。

まず、前提として delegate は遅いです。
通常の使い方なら全く問題ないですが、今回のように大量に生成され
大量に演算対象になる場合は速度的に厳しいので、これは避けたほうが
いいと思います。

また、現在の実装だと文字列を足したり切ったりしているため、
delegate そのままだと新しく生成した文字列が全部普通の String に
なってしまいますから、結局 + や [] を再定義する必要があります。
また $' などもあるのでこれはさらに明示的に生成する必要があります。
つまり、今回のことに関して言えば delegate は速度も遅くなるし
手間も減らないということです。

しかし専用にクラスを作ることを考えると、おそらくインデックスを
ごちゃごちゃ操作しても手間と速度はかわらないだろうと推測しました。
ついでに、インデックスを保持しておくと行番号も得られるので
お得度アップかもしれないし。
行のずれはブロックパーザとインラインパーザのインデックスを
引き算すればたぶん補正できるんじゃないかなーという希望的観測を
してました。
(もちろん、インデックスのかわりに IO.lineno を使っても同じですが。)

ところが、そんなこと言ってるあいだに実装してみたんですが、
=begin =end の外のことを全然考えてないというとんでもないミスに
気付きました。
というわけで、結局専用にクラスを作るのが一番いいかもしれません。

# 混乱させてしまってすみませんでした。
-------------------------------------------------------------------
あおきみねろう
delete_at(i,len) も忘れてないんだけど書いてる時間がない…

In This Thread