[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

20 messages 2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Hidetoshi NAGAI <nagai@...> 2007/02/25

永井@知能.九工大です.

[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Nobuyoshi Nakada <nobu@...> 2007/02/25

なかだです。

[ruby-dev:30277] Re: Object#*methods

From: Nobuyoshi Nakada <nobu@...>
Date: 2007-02-06 00:32:11 UTC
List: ruby-dev #30277
なかだです。

At Tue, 6 Feb 2007 03:46:24 +0900,
U.Nakamura wrote in [ruby-dev:30274]:
> Object#*methodsがSymbol配列を返すようになったのと、SymbolがString
> のサブクラスじゃなくなったのとで、動かなくなったコードがある
> ようです。
> 影響範囲が調べきれないのですが、とりあえず気付いたところだけ
> パッチです。

methods.include? という書き方自体が元々あまりよくないのだと思い
ますが、

> -unless Kernel.methods.include?("URI")
> +unless Kernel.methods.include?(:URI)
   unless Kernel.respond_to?(:URI)

> -  unless instance_methods.include?("w3cdtf")
> +  unless instance_methods.include?(:w3cdtf)
     unless method_defined?(:w3cdtf)

はいいとして

> -        unless private_instance_methods(false).include?("start_#{name}")
> +        unless private_instance_methods(false).include?("start_#{name}".to_sym)

private_method_defined? にはオプショナルな引数がありませんね。


以下の三つはそもそも不要です。

>  module Enumerable
> -  unless instance_methods.include?("sort_by")
> +  unless instance_methods.include?(:sort_by)

>  class Hash
> -  unless instance_methods.include?("merge")
> +  unless instance_methods.include?(:merge)

>  module Kernel
> -  unless methods.include?("funcall")
> +  unless methods.include?(:funcall)

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next