|
[ruby-list:42987] Ruby/Tk+callcc: msg#00048lang.ruby.japanese
はじめまして、服部@ISPと申します。 早速の質問で恐縮なのですが、Ruby/Tkとcallccを使ってとあるプログラムを 作成しているのですが、実行時エラーに悩んでいます。 具体的には以下のような、一見なんでもなさそうなプログラムを実行すると、 'continuation called across trap'というエラーがでます。 #### test.rb require 'tk' Thread.new { Tk.mainloop } count = 0 while true count = count + 1 callcc {|k| p count k.call } end __END__ 実行例: % ruby test.rb 1 2 .... 58 test.rb:10:in `call': continuation called across trap (RuntimeError) from test.rb:10 from test.rb:8 --- ちなみに、ループが何回まわるかは、実行するたびに変わります。 また、rubyのバージョンは1.8.4で、上記現象はWindowsでも、 Linuxでも発生します。 上のコードでは、特にtrapをまたいだ継続呼び出しをしているとも 思えないので、ちょっと不可解です。 Ruby/Tkを使うときはcallccの使用はあきらめた方が良いので しょうか。。。 最近、Rubyを始めたばかりなもので、 もし頓珍漢なことをしていたらごめんなさい。 以上、よろしくお願いします。 --- (株)システム計画研究所 技術本部 第5グループ 服部 健太 (E-mail:hattori-KHJI0Q8f9bZ4Eiagz67IpQ@xxxxxxxxxxxxxxxx)
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42986] Re: 6.12 includeとextendはどう違いますか, take_tk |
|---|---|
| Next by Date: | [ruby-list:42988] Re: Ruby/Tk+callcc, Hidetoshi NAGAI |
| Previous by Thread: | [ruby-list:42984] 6.12 includeとextendはどう違いますか, take_tk |
| Next by Thread: | [ruby-list:42988] Re: Ruby/Tk+callcc, Hidetoshi NAGAI |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |