[#13273] Ruby anywhere — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.rubyistモード.
なひです.
なひです.まったく何書いてんだか... > 自分 ^^;
なひです.もちろん「Dummy」なのは私です.^^;
前田です。
松尾です。
だんのです。
原です。
なひです.
青山です。
なひです.
青山です。
松尾です。
前田です。
なひです.
前田です。
なひです.
稲葉です。
なひです.眠い...
> > > 「call-by-referenceで」もちょっと言葉が違うような。
原です。
前田です。
原です。
だんのです。
青山です。
原です。
前田です。
前田です。
まつもと ゆきひろです
原です。
青山です。
Shugo Maeda <shugo@netlab.co.jp> writes:
前田です。
原です。
原です。
ごとけんです
原です。
青山です。
原です。
青山です。
青山です。
原です。
ごとけんです
原です。
ごとけんです
ごとけんです
まつもと ゆきひろです
原です。
ごとけんです
原です。
In message "[ruby-list:13884] Re: What is Object in Ruby? (Re: Ruby and LISP)"
ごとけんです
青山です。
原です。
ごとけんです
前田です。
ごとけんです
前田です。
ごとけんです
ごとけんです
まつもと ゆきひろです
まつもと ゆきひろです
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,
青山です。
青山です。
[#13525] Re: iterator for Dummies( was Re: Ruby anyw here ) — 助田 雅紀 <masaki.suketa@...>
助田です.ちょっと長いです.
[#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:13740] Re: IPv6 ruby
>> 直したです。19990414aというやつはちゃんと動くはず。
>どうもです。えっと、動くんですけど、ダイナミックリンクだと
>動きませんね。ぼくはよくわからないのですが、socket.so を
>作るときに getaddrinfo/getnameinfo の入ったライブラリを
>リンクしてやる必要があるということでしょう。モノはできてる
>みたいなのであとは extconf.rb の書き方ですね(たぶん)。
はい。
>といっても僕もこういう状況での書き方は知りません。
README.v6に書いておいたのですが、現状
- KAME IPv6 stackの場合、/usr/local/v6/lib/libinet6.aというので
getaddrinfo/getnameinfoを提供していますが、dynamic link libraryは
提供しておりません。さて、extconf.rbはどうすればいい?
- 他のIPv6 stackも似たりよったりです。
- IPv4 only hostの場合、missing/getaddrinfo.cとかが使われますが、
これをsocket.soに入れるにはどうすればいいのか?
- 両者の場合分けを解決するには? ext/socket/extconf.rb.in?
というかんじです。
短期的解決:
- ruby本体内からgetaddrinfoとgetnameinfoを一度でも参照しておけばよい。
例えば、void *p = (void *)getaddrinfo; とでも書けば勝ち。
ちょとずるいけど。
長期的解決:
- libcにgetaddrinfoが入ればとりあえず解決するはずです。
bind 8.2に入ったので(動かないけど)、そのうち蔓延するのではないかと。
>> getaddrinfo/getnameinfoはとてもよいライブラリ関数だと思うので
>> ぜひ皆さんに知ってほしいです。IPv4 onlyのときでも、socketまわりの
>> プログラミングがとても楽ちんになります。see RFC2553.
>TCP しか使ったことないのでいまひとつご利益がわかりませんが、
>楽ちんになる状況の簡単な例はありますか??
例えば、こんなもんでいかがでしょう。
- AF_INETを一切hardcodeしなくてよい
- IPPROTO_TCPもhardcodeしなくてよい(SOCK_STREAMだけ)
- DNS database上に複数アドレスが書いてある場合の処理を書くのに
ひじょーに快調
しかもAF_INETとAF_INET6が混ざってもok
- struct in_addr (例えばsin->sin_addr)を一切手でいじらなくて済む
gethostby*()系はみなstruct in_addrでアドレスを返してくるくせに、
connect()とかではstruct sockaddr_inが要求されていて
悲しかったのですが、getaddrinfo()を使えばstruct sockaddr_inが
返るので楽勝。
- さらに、inet_ptonとかinet_atonとも綺麗さっぱりお別れできる
getaddrinfoとgetnameinfoだけあれば生きていけます。
itojun
---
main()
{
struct addrinfo hints, *res0, *res;
int error;
int s;
char *host = "www.kame.net";
char *port = "http";
char *failed = "?";
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
error = getaddrinfo(host, port, &hints, &res0);
if (error) {
fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(error));
exit(1);
}
for (res = res0; res; res = res->ai_next) {
s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
if (s < 0) {
failed = "socket";
continue;
}
if (connect(s, res->ai_addr, res->ai_addrlen) < 0) {
failed = "connect";
close(s);
continue;
}
/* successful, some data transfer */
close(s);
break;
}
if (!res) {
perror(failed);
freeaddrinfo(res0);
exit(1);
}
fprintf(stderr, "successful\n");
freeaddrinfo(res0);
exit(0);
}