[#29736] [提案] Kernel#p をもっと便利に — "Yusuke ENDOH" <mame@...>

遠藤侑介と申します。

19 messages 2006/11/01

[#29765] merge with YARV — SASADA Koichi <ko1@...>

 ささだです。

16 messages 2006/11/03

[#29767] 1.8 proposal of RUBY_PATCHLEVEL — URABE Shyouhei <root@...>

-----BEGIN PGP SIGNED MESSAGE-----

52 messages 2006/11/04
[#29771] Re: 1.8 proposal of RUBY_PATCHLEVEL — Shugo Maeda <shugo@...> 2006/11/04

前田です。

[#29925] ruby -v — Urabe Shyouhei <shyouhei@...>

卜部です。

28 messages 2006/11/24

[#29964] 1.8, 1.9, svn化, などなどのまとめ — "U.Nakamura" <usa@...>

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

15 messages 2006/11/28

[#29970] BUG: Incorrect handling of Ignorecase matching (regex.c of 1.8.5) — "きむらこういち" <hogemuta@...>

木村です。

15 messages 2006/11/28

[ruby-dev:29946] Re: webrick and String#each

From: WATANABE Hirofumi <eban@...>
Date: 2006-11-24 12:42:30 UTC
List: ruby-dev #29946
わたなべです。

"NARUSE, Yui" <naruse@airemix.com> writes:

> 1.9 にて webrick に String#each 削除の影響がでています。
> 
> raw に Array が来てしまったり、io に String が来てしまうケースが
> あること自体がそもそもの問題な気はしますけれど。
> 
> なお参考までに、Content-Disposition がある時に raw が Array になります。
> 
> Index: lib/webrick/httputils.rb
> ===================================================================
> RCS file: /src/ruby/lib/webrick/httputils.rb,v
> retrieving revision 1.14
> diff -u -r1.14 httputils.rb
> --- lib/webrick/httputils.rb    2 Nov 2006 00:21:27 -0000       1.14
> +++ lib/webrick/httputils.rb    23 Nov 2006 08:18:40 -0000
> @@ -127,7 +127,7 @@
>      def parse_header(raw)
>        header = Hash.new([].freeze)
>        field = nil
> -      raw.lines.each{|line|
> +      (raw.class.method_defined?(:lines) ? raw.lines : raw).each{|line|
>          case line
>          when /^([A-Za-z0-9!\#$%&'*+\-.^_`|~]+):\s*(.*?)\s*\z/om
>            field, value = $1, $2
> @@ -317,7 +317,7 @@
>        form_data = Hash.new
>        return form_data unless io
>        data = nil
> -      io.each{|line|
> +      (io.class.method_defined?(:lines) ? io.lines : io).each{|line|
>          if boundary_regexp =~ line
>            if data
>              data.chop!

IOやStringやStringIOにはそのためのeach_lineがあるので、
ここではそれを使ったほうがいいでしょう。
1.8でも1.9でも使えますし。

-- 
わたなべひろふみ

In This Thread