[#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:108] Re: None
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-02-01 01:38:12 UTC
List:
ruby-list #108
まつもと ゆきひろ@トヨタケーラムです.
In message "[ruby-list:107] None"
on 96/01/31, P nakawtse <nakawtse@syrinx.dq.isl.ntt.jp> writes:
| 中渡@NTTです.
|
|------------
|まつもと ゆきひろ@トヨタケーラムです.
|| ここで while と WHILE とはみかけ(論理上)は同じかもしれませんが
|| 動作は違うのではないでしょうか?.それによって効率が違うとか?
|表面上の動作は同じですが,実装は全然違います.組込みのwhile
|の方が断然効率が良いです.
|------------
| #ちょっと中身も気になり始めたこのごろ.
| 実装はどう違うのですか?
eval.cに実装があるんですけど,読んでもちょっと分からないでしょ
うね.簡単に説明すると
whileは
while(条件を評価) {
ループの中を評価
}
WHILE(イテレータ)は
ブロックをセーブする
コンテキストをセーブする(setjmp)
イテレータ関数を呼ぶ
yieldでブロックを復旧し,ブロックを評価する
retryでコンテキストを復旧(longjmp)
してます.イテレータの方はsetjmp/longjmpでループを作っている
形になりますね.今ちょっと実験したらイテレータの方が2倍くら
い遅いみたいです.
|−−−−−
|0っていうのは無理でしょうが,効率を考えなければ今よりかなり
|減らすことは可能だと思います.まあ,そこまでしないのがrubyの
|ポリシーだと思ってください.
|−−−−−−−
|
| 最低限組み込むのは,どんなものでしょうか?
| pure lispくらい?
| この最低の言語というのも研究上おもしろいと思う.
| 実用にはならないけれど.
制御構造の話ですよね.ifとイテレータと大域脱出(break, retry)
と例外(begin, fail)があれば,残りは作れるのではないでしょう
か.実用を考えなければ,例外も外せるかも.