[#139] ruby 0.97 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1996/02/13
[#145] Re: The black face. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1996/02/14
[#182] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:178] Re: DOS port
1 message
1996/02/20
[#184] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:181] Re: DOS port
1 message
1996/02/20
[#185] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:183] Re: DOS port
1 message
1996/02/20
[#196] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:183] Re: DOS port
1 message
1996/02/26
[#198] Re: DOS port — Kazuhiko Iwama <iwama@...>
■ [ruby-list:197] Re: DOS port
1 message
1996/02/26
[#201] Re: ruby for JPower — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろ@トヨタケーラムです.
1 message
1996/02/26
[ruby-list:122] Re: iterator by C?
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-02-02 08:57:18 UTC
List:
ruby-list #122
まつもと ゆきひろ@トヨタケーラムです.
どうも私の説明が悪いんでしょうね.
In message "[ruby-list:121] iterator by C?"
on 96/02/02, P nakawtse <nakawtse@syrinx.dq.isl.ntt.jp> writes:
|中渡@NTTです.
| perlは i+=1, よりi++ が少し早いんでしょう?
perlはそうみたいですね.
| i++って自然数のときsucc(i):iの次の数=i+1.だけどクラス一般では
| operator'++' で定義されたものでは..
C++ではたしかにそうなんですけど,でもなんか変じゃないですか.
Cのレベルでは「変数iの値に1を加える」という変数に対する操作
ですよね.変数の値に対する操作ではなくて.
i=j=1
i++
すると
i -> 2
j -> 1
になることからも分かります.それをoperator++っていう値に対す
る操作にしてしまうというのは納得がいかないので,採用していま
せん.
| イテレータにいろいろあるわけですね.??
イテレータに限らずrubyのメソッドは rubyで記述されたものとCで
記述されたものがあります.当然Cで記述されたものの方が速いわ
けです.
|私のいっているのはそのことではなくて,あるクラス(自分で定義
|したのではない)をトラバースする時に,whileでトラバースするた
|めのメソッドが用意されていない可能性があるということです.も
|ちろん自分でクラスを定義しなおせば良いことなのですが,面倒で
|しょう?
|−−−−
|
| 例が思いつかないです
えーと,例えば
while link.next
処理
line = link.next
end
と書きたいのにnextメソッドが提供されていないような場合を考え
ていました.ちょっと不自然すぎる?
まあ,ここまで極端でなくても,上のwhileによる記述よりも
for i in link
処理
end
の方が分かりやすいことは認めて頂けるんではないかと.こっちの
方が高速である可能性もあるし.
まつもと ゆきひろ /:|)