[#33169] a cool Ruby script. — Yuji Asakawa <namu@...>
From: Yuji Asakawa <namu@venus.dti.ne.jp>
From: Yuji Asakawa <namu@venus.dti.ne.jp>
[#33172] [ANN] Ruby/zlib 0.5.0-pre1 — UENO Katsuhiro <unnie@...>
うえのです。
[#33183] [ANN] TMail 0.10 — Minero Aoki <aamine@...>
あおきです。
[#33185] rd-mode: rd-intelligent-newline — "Shirai,Kaoru" <shirai@...1jp.com>
白井といいます。
[#33208] Method passing block — sinara@...
原(信)です。
[#33229] ruby のインストールがうまくいかない — satoshi SAKAI <gau_sato@...9.dion.ne.jp>
はじめまして。
At Tue, 8 Jan 2002 19:58:55 +0900,
サカイです。
なかだです。
サカイです。
From: satoshi SAKAI <gau_sato@d9.dion.ne.jp>
In the message <20020109102738.TQIO11600.femail11.im.home.ne.jp@witch>,
さくです。
いわおかです。
さくです。
In message <20020110020553.61dd3936.crouton@weatherlight.org>
[#33234] DB のカラム名をもった各行のオブジェクトへ向けて — encore ann <i@...>
もりかわです。
[#33235] " 差分ベースモジュール " in Ruby — Taku Nakajima <tnakajima@...>
中島@ブレーンです。
ただただしです。
Toshです。
In article <A5EF3ECC-04BE-11D6-B67B-003065DC8B1C@yb3.so-net.ne.jp>,
In article <hvoell014rl.fsf@coulee.a02.aist.go.jp>,
まつもと ゆきひろです
In article <1010559765.279084.16212.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1010566232.053696.16272.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1010568827.806757.16317.nullmailer@ev.netlab.jp>,
なかだです。
nobu.nakada@nifty.ne.jpさんの
[#33263] RDtool インストールでの疑問 — satoshi SAKAI <gau_sato@...9.dion.ne.jp>
サカイです。
[#33288] HTML から BODY を抜き出す — m_seki@...
坂野 正明です。
MoonWolfです。
[#33300] 日付順のソートについて — "Tatsuaki Nagai" <Tatsuaki_Nagai@...>
永井@KCです。
[#33326] [ 質問 ] クラスメソッドのモジュールによる実現方法 — Hiroyuki Komatsu <komatsu@...>
小松と申します. はじめまして.
[#33346] IPSocket.getaddress — "Sadayuki Sakamoto" <sakacom@...>
酒本です。
酒本です。
In article <009501c19c02$aaa39740$65bc80da@pc0>,
In article <hvo66668ztc.fsf@coulee.a02.aist.go.jp>,
まつもと ゆきひろです
[#33356] about pty and expect on 1.7.x — YANAGAWA Kazuhisa <kjana@...4lab.to>
ruby-talk の話見ててちょっと思いだしたんですが....
[#33367] [ANN] rb2exe-preview1 — Yuya Kato <yuya@4th.to>
[#33381] [ANN] WString 0.0.8 — takuma ozawa <metal@...>
小澤といいます。
[#33392] Re: [ANN] rb2exe-preview1 — Nagai T <idonagai@...>
なかだです。
ひだかです。
ふたたびひだかです。
またひだかですが(^_^;
[#33398] ruby-mode のインデント不具合 (} + の次の行) — MALTA Koji <malta@...>
丸田と申します。
[#33416] No such file to load -- dbm — satoshi SAKAI <gau_sato@...9.dion.ne.jp>
サカイと言います。(以前もお世話になりました。)
まつもと ゆきひろです
ただただしです。まいどどうも(?)。
サカイです。
[#33427] CGI でキャッシュ — Fujikawa Norihide <ruby@...>
てんしゅう@ねむぅ。
[#33443] libpgsql-ruby-0.6.5 で Linux+PostgreSQL+Ruby について — "井上 浩一" <kyoui32@...>
井上です。
[#33462] Re: Mysql/Ruby のコンパイル — "井上 浩一" <kyoui32@...>
井上です。
ひだかです。
なかだです。
ひだかです。
なかだです。
ひだかです。
なかだです。
ひだかです。
なかだです。
ひだかです。
たむらです。
なかだです。
たむらです。
西山和広です。
たむらです。
高橋征義です。
たむらです。
[#33477] about nest class — sheepman <sheepman@...>
こんにちは
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#33517] [BUG] Can't compile ruby on Solaris2.6 — IWAMURO Motonori <iwa@...>
岩室です。
まつもと ゆきひろです
岩室です。
わたなべです。
[#33520] IP に関するライブラリ cygwin & linux — "井上 浩一" <kyoui32@...>
井上です。
さくです。
In article <20020125163631.076601cb.crouton@weatherlight.org>,
さくです。
[#33535] broken symbolic link and File::mtime — Go Nakagawa <nakagawa@...>
中川といいます。
まつもと ゆきひろです
In message <1012002148.661980.9788.nullmailer@ev.netlab.jp>
西山和広です。
In message <20020127213735.2369.ZN@mbf.nifty.com>
西山和広です。
まつもと ゆきひろです
In article <1012194192.456224.19148.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1012208486.646506.19793.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1012212090.162851.19949.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
In article <1012227444.855288.20722.nullmailer@ev.netlab.jp>,
In message <hvoy9ii4eon.fsf@coulee.a02.aist.go.jp>
In article <200201281639.g0SGdRH29664@edge.sky.yamashina.kyoto.jp>,
さくです。
うぅむ。もうすこし早く Subject: を変えるべきであった...
まつもと ゆきひろです
In article <1012282185.518684.23103.nullmailer@ev.netlab.jp>,
In article <1012208486.646506.19793.nullmailer@ev.netlab.jp>,
[#33547] racc fails on alpha-freebsd — Minero Aoki <aamine@...>
あおきです。
In message <20020126123640V.aamine@mx.edit.ne.jp>
あおきです。
[#33556] Cgi::session in eRuby — kyosuke kiyooka <k@7ruby.com>
きよおかです。
きよおかです。
[#33570] NHK スペシャル「変革の世紀」 — rubiben <ozaki@...>
[#33613] Re: ある文字列以外の部分にマッチさせる方法 — "Tatsuaki Nagai" <Tatsuaki_Nagai@...>
永井です。
[#33664] rd2 コマンド( RDtool )が動かない。 — Seiji Yoneda <yoneda@...>
米田と申します。はじめて投稿します。
有馬です。
サイトウさん、有馬さん、ありがとうございます。
たむらです。
ひだかです。
[#33689] Windows をリブートするスクリプトはありますか?。 — Take_tk <ggb03124@...>
どちら様か、Windows をリブートするスクリプトを既に作っておられないでしょ
[ruby-list:33173] Re: [ANN] Ruby/zlib 0.5.0-pre1
In article <20020106030537-8551C.unnie@blue.sky.or.jp>,
UENO Katsuhiro <unnie@blue.sky.or.jp> writes:
> * クラス名の変更。全てのクラスと定数は Zlib 以下に移しました。
> 後方互換性のため古い名前も残してはいます。
>
> + Deflate -> Zlib::Deflate
> + Inflate -> Zlib::Inflate
> + Zlib::Gzip -> Zlib::GzipFile
> + GzipReader -> Zlib::GzipReader
> + GzipWriter -> Zlib::GzipWriter
> + などなど…
ドキュメント中の例に古い名前の参照が残っています。
zstream = Deflate.new(level)
zstream = Inflate.new
gz = GzipReader.new(f)
gz = GzipWriter.new(f)
> * Ruby 自体の制限のため、GzipWriter オブジェクトは明示的に
> クローズしなければならないようになりました。
ドキュメントには GzipWriter.open と GzipWriter.new にブロックを与えた
場合には自動的にクローズすると書いてあるんですが、そうなっていません。
% ruby -rzlib -e 'Zlib::GzipWriter.open("a.gz") {|gz| gz.write "xxjklfds\n"}'
-e:1: warning: Zlib::GzipWriter object must be closed explicitly.
% zcat a.gz
gzcat: a.gz: unexpected end of file
% ruby -rzlib -e 'Zlib::GzipWriter.new(STDOUT) {|gz| gz.write "xxjklfds\n"}' > z.gz
-e:1: warning: Zlib::GzipWriter object must be closed explicitly.
% zcat a.gz
gzcat: a.gz: unexpected end of file
> 1.7 への対応は、とりあえず 1.6 で安定してから、と考えています。
> # 単に 1.7 がどうなっているかを知らないだけだったりもする(汗;
個人的にはすでに 1.7 に移行してしまっているので、1.7 に install しまし
た。最小限の変更で済ますなら、NORETURN を消して str2cstr を
rb_str2cstr に変えるだけで済むようです。
> あと、Ruby/zlib を 1.7 にマージする話があったと思うのですが、
> マージするのであれば、このバージョンを元にしたいと思っています。
> そういった観点からの API のレビュー等もお願いしたいです。
ドキュメントを一通り読んだのですが、悪くないと思います。ぜひぜひマージ
して欲しいと思います。
ただ、Zlib::GzipReader.new と Zlib::GzipWriter.new に文字列を与えたら
ファイル名と解釈してくれてもいいかも知れないと思いました。でも、
String#read や String#write を定義する可能性を潰しちゃうことになるから
うまくないかも。
あと、
* 例を出すならまずブロックを使った例を出すほうが良いのではないか。
(クローズし忘れる可能性を減らせるし。)
* flag という名前よりは内容を表す名前のほうが意味をとりやすい。
(とくに Zlib::GzipWriter#close では本文に説明がないし。)
と思いました。
--- ruby-zlib-0.5.0-pre1/zlib.rd.src Sun Jan 6 01:19:15 2002
+++ ruby-zlib-0.5.0-pre1+/zlib.rd.src Sun Jan 6 04:38:26 2002
@@ -324,7 +324,7 @@
en| This method is almostly equivalant to the following code:
def deflate(string, level)
- zstream = Deflate.new(level)
+ zstream = Zlib::Deflate.new(level)
zstream << string
buf = zstream.finish
zstream.close
@@ -445,7 +445,7 @@
en| This method is almostly equivalant to the following code:
def inflate(string)
- zstream = Inflate.new
+ zstream = Zlib::Inflate.new
buf = zstream.inflate(string)
zstream.finish
zstream.close
@@ -569,13 +569,13 @@
#|
en| Same as IO.
---- Zlib::GzipFile#close([flag])
- ja| GzipFile オブジェクトをクローズします。((|flag|)) が省略されている
- ja| 時や ((|flag|)) が真でない時、関連付けられている IO オブジェクトの
+--- Zlib::GzipFile#close([dont_close_io])
+ ja| GzipFile オブジェクトをクローズします。((|dont_close_io|)) が省略されている
+ ja| 時や ((|dont_close_io|)) が真でない時、関連付けられている IO オブジェクトの
ja| close メソッドを呼び出します。
ja| 関連付けられている IO オブジェクトを返します。
#|
- en| Closes the GzipReader object. If ((|flag|)) is ommited or
+ en| Closes the GzipReader object. If ((|dont_close_io|)) is ommited or
en| not true, close method of the associated IO object is called.
en| Returns the associated IO object.
@@ -673,8 +673,12 @@
en| associating an instance of IO class (or an object which has the same
en| methods as IO has).
+ Zlib::GzipReader.open('hoge.gz') {|gz|
+ print gz.read
+ }
+
f = File.open('hoge.gz')
- gz = GzipReader.new(f)
+ gz = Zlib::GzipReader.new(f)
print gz.read
gz.close
@@ -689,6 +693,7 @@
=== クラスメソッド:
--- Zlib::GzipReader.new(io)
+--- Zlib::GzipReader.new(io) {|gz| ...}
ja| ((|io|)) と関連付けられた GzipReader オブジェクトを作成します。
ja| GzipReader オブジェクトは ((|io|)) からデータを逐次リードして
ja| 解析/展開を行います。((|io|)) には少なくとも、IO#read と
@@ -719,6 +724,7 @@
en| ((<Zlib::GzipFile#close>)) method with an argument in the block.
--- Zlib::GzipReader.open(filename)
+--- Zlib::GzipReader.open(filename) {|gz| ... }
ja| ((|filename|)) で指定されるファイルを gzip ファイルとして
ja| オープンします。GzipReader オブジェクトを返します。
ja| その他詳細は ((<Zlib::GzipReader.new>)) と同じです。
@@ -824,8 +830,12 @@
en| associate with an instance of IO class (or an object which has
en| the same methods as IO has).
+ Zlib::GzipWriter.open('hoge.gz') {|gz|
+ gz.write 'jugemu jugemu gokou no surikire...'
+ }
+
f = File.open('hoge.gz', 'w')
- gz = GzipWriter.new(f)
+ gz = Zlib::GzipWriter.new(f)
gz.write 'jugemu jugemu gokou no surikire...'
gz.close
@@ -843,6 +853,7 @@
=== クラスメソッド:
--- Zlib::GzipWriter.new(io[, level[, strategy]])
+--- Zlib::GzipWriter.new(io[, level[, strategy]]) {|gz| ... }
ja| ((|io|)) と関連付けられた GzipWriter オブジェクトを作成します。
ja| ((|level|)), ((|strategy|)) は ((<Zlib::Deflate.new>)) と同じです。
ja| GzipWriter オブジェクトは ((|io|)) に gzip 形式のデータを
@@ -872,6 +883,7 @@
en| in the block explicitly.
--- Zlib::GzipWriter.open(filename[, level[, strategy]])
+--- Zlib::GzipWriter.open(filename[, level[, strategy]]) {|gz| ... }
ja| ((|filename|)) で指定されるファイルを gzip 圧縮データの
ja| 書き出し用にオープンします。GzipWriter オブジェクトを返します。
ja| その他詳細は ((<Zlib::GzipWriter.new>)) と同じです。
@@ -883,7 +895,7 @@
=== メソッド:
---- Zlib::GzipWriter#close([flag])
+--- Zlib::GzipWriter#close([dont_close_io])
ja| フッターを書き出し、GzipWriter オブジェクトをクローズします。
#|
en| Writes the gzip file footer and closes the GzipWriter object.
--
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)