[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29572] Re: digest.rb

From: Tanaka Akira <akr@...>
Date: 2006-09-13 16:31:18 UTC
List: ruby-dev #29572
In article <863bav6a0w.knu@iDaemons.org>,
  "Akinori MUSHA" <knu@iDaemons.org> writes:

>  賛成です。1.9 に入れましょう。

いれました。

>> なお、digest.rb には Digest::Base.hexdigest_file などを付け
>> る場所としての意味も考えています。
>
>  これもよく使うので欲しいですよね。

はい。

これについてはいろいろと考えた結果、API はマニュアルに載って
いる Digest::Base.open がだいたいいいと思うのですが、close
と対にならない open はちょっとなんなので、file という名前に
して、こんな感じでどうかと思います。

Index: ext/digest/lib/digest.rb
===================================================================
RCS file: /src/ruby/ext/digest/lib/digest.rb,v
retrieving revision 1.1
diff -u -p -r1.1 digest.rb
--- ext/digest/lib/digest.rb	13 Sep 2006 16:03:23 -0000	1.1
+++ ext/digest/lib/digest.rb	13 Sep 2006 16:20:37 -0000
@@ -5,4 +5,17 @@ module Digest
   autoload "SHA256", "digest/sha2"
   autoload "SHA384", "digest/sha2"
   autoload "SHA512", "digest/sha2"
+
+  class Base
+    def self.file(name)
+      digest = self.new
+      open(name) {|f|
+        buf = ""
+        while f.read(16384, buf)
+          digest.update buf
+        end
+      }
+      digest
+    end
+  end
 end

# なお RubyKaigi2006 の発表資料の最後にもこれを選んだ理由が
# いくらか書いてあります。

>  IO を取るものはそんなに需要はないかな?

[ruby-talk:116637] にそういう提案がありますが、用途としてあ
げられているのは結局ファイルを読むという話なんですよねぇ。

ファイル以外の IO だと、読むとなくなっちゃうかもしれないので、
そうするとデータそのものはいらないんだけど digest は欲しいと
いう用途になりますが、それってさすがによくあるとは言いがたい
ような。

とりあえず、一番大きな需要はファイルを読むという話なので、次
に大きな需要について考えるのはしばらく使ってからでいいんじゃ
ないですかね。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread