[#20083] non-block IO with TCPSocket — dn <daisuke@...>

初投稿の中村と申します。よろしくお願いします。

19 messages 2000/01/06
[#20084] Re: non-block IO with TCPSocket — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/01/06

越水です。

[#20091] Re: non-block IO with TCPSocket — とみたまさひろ <tommy@...> 2000/01/06

とみたです。

[#20133] おききしたーいでーす — akimaru <akimaru@...>

17 messages 2000/01/09
[#20138] Re: おききしたーいでーす — akimaru <akimaru@...> 2000/01/09

[#20237] Ruby/Tk multi interpreter — nagai@...

永井@知能.九工大です.

21 messages 2000/01/17
[#20242] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/17

永井@知能.九工大です.

[#20248] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/17

石橋秀仁です。

[#20254] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/18

永井@知能.九工大です.

[#20271] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/18

石橋秀仁です。

[#20249] FTP.open err for Windows95 — "Y Kataoka" <kataoka@...>

初めまして、片岡@KLUGと申します。

18 messages 2000/01/17
[#20252] Re: FTP.open err for Windows95 — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/18

なひです.

[#20342] How to build ruby(current) with cygwin — KORIYAMA Naohiro <kory@...2.so-net.ne.jp>

はじめまして、こおりやまです。

19 messages 2000/01/23
[#20362] Re: How to build ruby(current) with cygwin — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/01/24

わたなべです.

[#20422] Re: How to build ruby(current) with cygwin — Masaki Suketa<CQN02273@...> 2000/01/29

Win32OLE の作者の助田です.

[#20394] ruby-1.4.3 port to HPUX 11.00 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2000/01/26

[ruby-list:20086] a instance of Struct subclass on the block parameter (Re: Range expansion?)

From: Kazuhiro Yoshida <moriq.kazuhiro@...>
Date: 2000-01-06 15:01:38 UTC
List: ruby-list #20086
もりきゅうです。謹賀新年。

Shugo Maeda さんは書きました:
>ブロックへのパラメータの引渡しは多重代入によって行われるのですが、
>多重代入で右辺が一つしかない場合は自動的にto_aで配列化されます。

よく似た話題かなと思ったので便乗します。^^;

Struct の subclass (以下に挙げる例中では ButtonEvent) ,つまり
Ruby 世界での構造体をブロックへのパラメータとして渡してみます。


* 引渡しの多重代入で右辺が一つしかない場合は ButtonEvent の
  インスタンスを返します。

* 右辺が複数あるときは,あたかも構造体 ButtonEvent のメンバ
  を配列に入れたように多重代入が行われます。これは Struct#to_a
  が効いているわけですね。

-- st.rb
#!/usr/local/bin/ruby

ButtonEvent = Struct.new 'ButtonEvent', :time, :x, :y, :button

event = ButtonEvent.new
event.time = 0
event.x = 48
event.y = 16
event.button = 1

proc_a = proc { |e| p e }
proc_b = proc { |t,x,y,b| p [t,x,y,b] }

proc_a.call event
proc_b.call event
--

余談:
#!/usr/local/bin/ruby
を
#!/usr/local/bin/perl
と書いたら
$ ruby foo.rb
と実行しても Perl を起動するのね... はじめて知ったなりよ。
逆もしかり。なんてお行儀が良いんだろう。

Struct.new('Jarh', :Just, :another, :Ruby, 'hacker,'.intern).new.members.join(' ').display
----
Kazuhiro Yoshida  moriq.kazuhiro@nifty.ne.jp

In This Thread