[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...

荻野です。あったらうれしいメソッドということで書いてみます。

16 messages 2000/03/03

[#21159] メソッドの入り口 — ogino@...

荻野です。もうひとつご指導ください。

93 messages 2000/03/03
[#21170] Re: メソッドの入り口 — Shin-ichiro Hara <sinara@...> 2000/03/03

原です。

[#21243] Re: メソッドの入り口 — keiju@... (石塚圭樹) 2000/03/07

けいじゅ@日本ラショナルソフトウェアです.

[#21247] Re: メソッドの入り口 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/07

[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口) — Hideto ISHIBASHI <s34204@...> 2000/03/08

石橋秀仁です。

[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/08

[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — nobu.nakada@... 2000/03/09

なかだです。

[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — ogino@... 2000/03/09

oop未満の世界観の荻野です。

[#21282] Re: 引数コピーとオブジェクト指向 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/03/09

越水です。

[#21285] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21293] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/10

松尾です。

[#21297] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21302] Re: 引数コピーとオブジェクト指向 — 土岐 仁謙 <toki@...> 2000/03/10

土岐です。

[#21371] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21374] Re: 引数コピーとオブジェクト指向 — TADA Tadashi <sho@...> 2000/03/13

ただただしです。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>

24 messages 2000/03/09
[#21283] Re: raise non-Exception object — nobu.nakada@... 2000/03/09

なかだです。

[#21315] Re: raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp> 2000/03/11

[#21342] Re: raise non-Exception object — nobu.nakada@... 2000/03/12

なかだです。

[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 2000/03/13

[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>

こんにちは Tanです。

16 messages 2000/03/15

[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

27 messages 2000/03/22
[#21584] Re: ruby for Web — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/03/22

なひです.

[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。net/http 使いたおし中。

17 messages 2000/03/27

[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>

前田です。

14 messages 2000/03/28

[ruby-list:21487] Re: IO#method for read data from stream

From: 土岐 仁謙 <toki@...>
Date: 2000-03-16 14:50:53 UTC
List: ruby-list #21487
土岐です。

{Date} Thu, 16 Mar 2000 21:26:09 +0900
{Subject} [ruby-list:21481] IO#method for read data from stream
{Message ID} <200003161225.AA00243@fit0298.fitec.co.jp>
ARIMA Yasuhiro <fit0298@fitec.co.jp> wrote...

ARIMA> socket や pipe を使う際に、読込可能な分だけ読むという機能が
ARIMA> ほしかったので以下のメソッドを書いてみました。
ARIMA> こういうメソッドが標準であってもいいと思うのですが、
ARIMA> なんだか不格好なので知恵を貸してください。

IO#fcntlでnon-blocking I/Oのフラグを立てると、
お望みの動作になるのではないかと思います。
わたしはpipe(2)でしか使ってませんが、多分socketでも
使えるのではないかと。コード以下のような感じです。

require "fcntl"

pin, pout = IO::pipe
fork do
  pin.close
  for n in 1..10
    sleep(1)
    pout.print "*" * n
    pout.flush
  end
end
pout.close

flags = pin.fcntl(Fcntl::F_GETFL)
flags |= Fcntl::O_NONBLOCK
pin.fcntl(Fcntl::F_SETFL, flags)

count = 1
begin
  while (data = pin.read)
    print count, ": ", data, "\n"
    count += 1
  end
rescue Errno::EWOULDBLOCK
  sleep(0.1)
  retry
end

ちなみにスレッドを起動していないときは、読み込むべきデータが
まだ来ていない状態でIO#readを呼ぶとErrno::EWOULDBLOCKが発生します。
複数のスレッドが動いていると、データが来ていない状態では
別のスレッドが動くので、Errno::EWOULDBLOCKは発生しません。

--------------------------------------------------
土岐 仁謙    神戸大学物理高エネ研 M2
http://www.freedom.ne.jp/toki/

In This Thread