[#13273] Ruby anywhere — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.rubyistモード.
なひです.
なひです.まったく何書いてんだか... > 自分 ^^;
なひです.もちろん「Dummy」なのは私です.^^;
前田です。
松尾です。
だんのです。
原です。
なひです.
青山です。
なひです.
青山です。
松尾です。
前田です。
なひです.
前田です。
なひです.
稲葉です。
Shugo Maeda <shugo@netlab.co.jp> writes:
前田です。
ごとけんです
前田です。
ごとけんです
前田です。
ごとけんです
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
原です。
原です。
ごとけんです
原です。
青山です。
原です。
青山です。
青山です。
原です。
ごとけんです
原です。
ごとけんです
In message "[ruby-list:13884] Re: What is Object in Ruby? (Re: Ruby and LISP)"
ごとけんです
原です。
ごとけんです
原です。
ごとけんです
まつもと ゆきひろです
青山です。
原です。
なひです.眠い...
> > > 「call-by-referenceで」もちょっと言葉が違うような。
原です。
前田です。
原です。
だんのです。
青山です。
原です。
青山です。
青山です。
前田です。
原です。
前田です。
まつもと ゆきひろです
Shugo Maeda <shugo@netlab.co.jp> writes:
前田です。
Shugo Maeda <shugo@netlab.co.jp> writes:
原です。
前田です。
[#13274] Ruby Home Page — WATANABE Tetsuya <tetsu@...>
◎要求推察機能搭載
[#13288] big ruby program — kikutani@...
今までrubyで書かれた、もっとも大きなプログラム
[#13383] — Inaba Hiroto <inaba@...>
稲葉です.
In message <9904070229.AA11857@tux0017.sdd.tokyo-sc.toshiba.co.jp>
稲葉です。これも出しなおしです.
In message <9904080032.AA17943@tux0017.sdd.tokyo-sc.toshiba.co.jp>
稲葉です。
青山です。
[#13427] inline callback — Masatoshi SEKI <m_seki@...>
[#13436] Re: Ruby and LISP ( was Re: Ruby anywhere ) — 助田 雅紀 <masaki.suketa@...>
助田です.
[#13445] Re: constant/immutable(Re: Ruby and LISP) — 助田 雅紀 <masaki.suketa@...>
助田です.全然 Ruby と関係ないですが.
[#13502] Re: Ruby and LISP ( was Re: Ruby anywhere ) — "豊福" <toyofuku@...>
豊福@パパイヤです。
原です。
原です。
[#13506] telnet.rb STDOUT — kikutani@...
昨日書いた、proxy経由でpopするやつですが、
青山です。
青山です。
On Fri, 9 Apr 1999 22:08:09 +0900,
青山です。
青山です。
[#13541] iterator <-> cursor (Re: iterator for Dummies) — Inaba Hiroto <inaba@...>
稲葉です.
[#13582] Dir.foreach — greentea@...2.so-net.ne.jp (Tomoyuki Kosimizu)
こんにちは、越水です。
[#13588] /.*\n$/ — kikutani@...
if "hoge\n" =~ /.*\n$/
[#13607] Re: iterator for Dummies( was Re: Ruby anyw here ) — 助田 雅紀 <masaki.suketa@...>
助田です.
前田です。
[#13644] bbs — kikutani@...
rubyで書かれたWebの掲示板てありましたっけ?
初めて投稿します。多田@S.P.C.です。
On Tue, 13 Apr 1999 11:16:47 +0900,
松尾です。
多田@S.P.C.です。
bbsのスレッドがこんなに盛り上るとは思わなかった...
On Tue, 13 Apr 1999 13:47:42 +0900,
こんばんは。鈴木教郎です。
[#13646] Re: internal/external iterator (was Re: ite rator for Dummies) — 助田 雅紀 <masaki.suketa@...>
助田です.
[#13673] ruby 1.2.5 is released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#13680] FW: ruby-1.2.5 mkconfig.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
まつもと ゆきひろです
土岐です。
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
小松です。
まつもと ゆきひろです
[#13688] What is callcc? (Re: iterator <-> cursor) — toyofuku@...
豊福@パパイヤです。
[#13697] ruby で MIDI — Keisuke Minami <keisuke@...>
三並です。
[#13710] private singleton method — thitoshi@... (TAKAHASHI Hitoshi)
[#13712] IPv6-ready ruby (Forward: [ruby-talk:00274]) — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
ももちゃんです.
まつもと ゆきひろです
ももいちゃんです.
[#13720] Re: What is callcc? (Re: iterator <-> cursor) — toyofuku@...
豊福@パパイヤです。
まつもと ゆきひろです
[#13741] Re: iterator — "豊福" <toyofuku@...>
豊福@パパイヤです。
[#13762] accepting multiple TCPserver — Jun-ichiro itojun Hagino <itojun@...>
[#13810] style — Kikutani Makoto <kikutani@...>
仕事がいまいちやる気にならんので(毎度のことだが)雑談です。
[#13811] ping.rb で false — Yoshiki Wada <wada@...>
和田と言います。
[#13865] cross-reference duplication — Ryunosuke Ohshima <ryu@...>
はじめまして、大島@北陸先端科学技術大学院大学と申します。
[#13867] Re: What is Object in Ruby? (Re: Ruby and LISP) — toyofuku@...
豊福@パパイヤです。
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
[#13894] FreeBSD port kit for some extention modules and applications — Yasuhiro Fukuma <yasuf@...>
福間@福岡 です。
[#13903] timer — hisanori@...
松尾です。
まつもと ゆきひろです
松尾です.
まつもと ゆきひろです
松尾です.
まつもと ゆきひろです
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
In message <371F9FC120.AA42.anakamur@exa.i-tech.co.jp>
In message <371FE23633A.D92F.anakamur@exa.i-tech.co.jp>
[#13927] Re: Thread GC (Re: Re: timer) — Inaba Hiroto <inaba@...>
稲葉です.
[#13930] mod_ruby 0.1.0 — Shugo Maeda <shugo@...>
前田です。
[#13948] Re: What is Object in Ruby? (Re: Ruby and LISP) — toyofuku@...
豊福@パパイヤです。
青山です。
[#13951] Message of Today in 1999/04/20. — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
まつもと ゆきひろです
[#13967] Proc.new — akendo@...3.rim.or.jp
遠藤です。Ruby/Tkで楽しく遊ばせていただいています。
まつもと ゆきひろです
遠藤です。問題の記述が悪くて申し訳ありません。
[#14014] Re: What is callcc? (Re: iterator <-> cursor) — toyofuku@...
豊福@パパイヤです。
[#14037] TMail について — 民斗 <tommy@...>
民斗です。
あおきです。報告ありがとうございます。
民斗です。
わたなべです.
あおきです。
わたなべです.
In ruby-list, you wrote:
まつもと ゆきひろです
こんにちは。鈴木教郎です。
原です。
あおきです。
[#14038] ttyname(3) — gotoken@... (GOTO Kentaro)
ごとけんです
[#14054] 今日の一言 — WATANABE Tetsuya <tetsu@...>
渡辺哲也です。
[#14070] — Kazunori Akaishi <akaishi@...>
akaishi です。
[ruby-list:13696] Re: iterator <-> cursor (Re: iterator for Dummies)
稲葉です。
Inaba Hiroto wrote:
> えっと、でも今のrubyのcallccがscheme(他は調べてないですが、少なくとも
> GNUのscmとは)と違う振る舞いをする部分があるのを見つけてます。そのため
> 今の自分のcallccによる外部iteratorは使いづらい面があります。
> 詳細は明日(すみません)ruby-devにmailします。
えっと、callccの仕様の修正をお願いしようと思っていたのでruby-devに出す
つもりだったのですが、色々調べて仕様変更することはないと思い直したので
このままruby-listに出します。
まず、自分が書いて原さんに単純化してもらった
class Cursor
def initialize(iter)
@iter = iter
@cont = nil
end
def next
@cont.call if @cont
@iter.call {|obj|
callcc{|@cont| return obj }
}
nil
end
end
ですが、色んな使い方をしようとすると破綻します。例えば
c = Cursor.new([1,2,3].method(:each))
p obj = c.next
p obj = c.next
とすると
1
2
3
nil
nil
nil
:
nil
nil
cursor-by-callcc.rb:17: Interrupt
と無限ループになってしまいます。別の例では以下も無限ループです。
$acc = nil
def a
callcc{|cc| $acc = cc; 1}
end
ret = a
p ret
$acc.call 2
p ret
exit
SCMでほぼ同じコード、
(define call/cc call-with-current-continuation)
(define acc #f)
(define (a)
(call/cc (lambda (cc) (set! acc cc) 1)) )
(define ret (a))
(print ret)
(acc 2)
(print ret)
(exit)
を実行すると
1
2
とちゃんと止まります。
ところが最後の部分を
(begin
(define ret (a))
(print ret)
(acc 2)
(print ret)
(exit))
とすると、これは無限ループです。
SCMはトップレベルを超えた継続をきるようです。
トップレベルが人間との会話系の場合と合わせているのかな
と思いますが、本当の所はわかりません。
rubyでもそうなればいいのかなあと最初考えたのですが、
トップレベルだけそうしてもクラスやモジュールにした時
他のメソッドから呼ぶときも結局同じになるので、あまり
意味ないな、と思い直しました。
で、色々考えてCursorのcallccによる実装を作り直しました。
先のやつよりちょっと面倒になって、さらに遅くなりました。
class Cursor
def initialize(iter)
@iter = iter
@cont = nil
end
def next
callcc{|@cc|
@cont.call if @cont
@iter.call {|obj|
callcc{|@cont| @cc.call(obj) }
}
@cc.call(nil)
}
end
end
--
稲葉 浩人 <inaba@st.rim.or.jp>