D言語のStreamについての議論

D言語でのStreamが迷走している様子です。
2
/dev/null @satoru_h

エコーサーバを,while(sock.receive){sock.send}じゃなくて,copy(InputStream(sock), OutputStream(sock));と書けるとうれしいとかそう言うの,ない?

2010-07-04 06:57:07
IGARASHI Shinji@無職 @s50

@satoru_h インターフェース的にそれっぽく書けるのは気楽かなあと思うけど、さいきんうぉるたんとかあんどれいとかRangeRangeしか言わないのがなあ

2010-07-04 07:06:54
/dev/null @satoru_h

@s50 あ.まちがった!byHogeRange(InputStream(sock));だ.StreamがRange提供していれば,std.algorithm.copyが使えるよね.とかそう言う.

2010-07-04 07:09:49
/dev/null @satoru_h

@s50 あと,asInputStream(Range)(Range r);もあるとよいかなぁ.と思っている.

2010-07-04 07:13:26
/dev/null @satoru_h

んー.ElementType!Rangeって何でも入ってるよねー.void[]かisIntegralなときだけRangeStreamがあると便利?いらん?

2010-07-04 07:18:07
/dev/null @satoru_h

と言うか,なぜstreamがいらんのかが分からんのでなぁ.どーすればいいのかも分からん.

2010-07-04 07:21:13
/dev/null @satoru_h

と言うことは,OutputRangeも用意しないとだな.

2010-07-04 07:26:19
IGARASHI Shinji@無職 @s50

http://www.digitalmars.com/d/archives/digitalmars/D/Network_in_phobos_108306.html この人の奴が今のところソケットの上ものとして期待されてるのが現状なのかな

2010-07-04 08:10:33
/dev/null @satoru_h

んー結局struct MemoryStream { claas Impl { ubyte[] buffer;} Impl impl; }とかいう作りになってしまった.まぁいっか

2010-07-04 08:11:36
/dev/null @satoru_h

Networking I/Oのほうは読んでた.

2010-07-04 08:15:56
/dev/null @satoru_h

@s50 斜め読みだけど,std.stdio.Fileがいけてない事には触れてないのにゃぁ.

2010-07-04 08:16:32
/dev/null @satoru_h

@s50 http://ideone.com/SPPkT こう書けるようにしてみたけど,そーゆー事だよね?

2010-07-04 08:20:35
/dev/null @satoru_h

SocketStreamをどういう扱いにしようかまだ迷っている.

2010-07-04 08:22:27
/dev/null @satoru_h

std.stdio.Fileを万能にしても,だいたい使えるような気はするけど,ubyte[]をinputStreamとして使うのが無理なんだよなぁ.

2010-07-04 08:30:16
SHOO @mono_shoo

Streamがあればもっといろんなのが作れそうなんだけどなぁ… HTTP、FTP、VFS、Logger、Pipe…

2010-07-04 10:19:24
/dev/null @satoru_h

@mono_shoo Network in phobosスレッドで,socketをstd.stdio.Fileに任せる案が出ているみたいですが,fileとsocketに_限れば_あれである種のstream的な使い方ができるんですよねぇ.

2010-07-04 10:21:07
SHOO @mono_shoo

ダックタイピングでいいから、少なくともどのメソッドが定義されてたらStreamであるっていう、isInputStreamとかisOutputStreamとかそう言うのだけでも定義して欲しいなぁ

2010-07-04 10:24:21
SHOO @mono_shoo

テキストとして読み込んだり、一定バイトずつ読み込んだり、エンディアン考慮してデータとして取り出したり、あるいはその逆をするのはRangeでいいけど

2010-07-04 10:26:14
IGARASHI Shinji@無職 @s50

Network in phobosでも出てるIssue 4025の Making network with the std.stdio.File interface も同じ話題でphobosの方へ転送されてるぽ http://j.mp/9B8Z7A

2010-07-04 10:27:45
ShinFujishiro @rsinfu

NG過去ログ"ideas about ranges", "Re: Ranges and/versus iterators"; ML過去ログ"UnbufferedFile, or, abstracting the File ranges"読んでた

2010-07-04 10:34:14
/dev/null @satoru_h

std.stdio.Fileにまとめるのは筋が悪いと思うんだけどなぁ.

2010-07-04 10:34:50
1 ・・ 10 次へ