[#23884] Ruby 1.8.2 preview1にむけて — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

34 messages 2004/07/13
[#23917] Re: Ruby 1.8.2 preview1にむけて — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/07/16

山本です。

[#23920] Re: Ruby 1.8.2 preview1にむけて — "NAKAMURA, Hiroshi" <nakahiro@...> 2004/07/16

なひです。

[#23922] ruby 1.8.2 preview1 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

27 messages 2004/07/16

[#23995] String#each -> String#each_char — Shugo Maeda <shugo@...>

前田です。

27 messages 2004/07/30
[#23996] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#23997] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

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

[#23999] Re: String#each -> String#each_char — matz@... (Yukihiro Matsumoto) 2004/07/30

まつもと ゆきひろです

[#24000] Re: String#each -> String#each_char — "U.Nakamura" <usa@...> 2004/07/30

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

[#24005] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/07/31

青木です。

[#24012] Re: String#each -> String#each_char — Shugo Maeda <shugo@...> 2004/08/01

前田です。

[#24014] Re: String#each -> String#each_char — Minero Aoki <aamine@...> 2004/08/02

青木です。

[ruby-dev:23916] Re: Ruby 1.8.2 preview1にむけて

From: nobu.nakada@...
Date: 2004-07-16 03:49:07 UTC
List: ruby-dev #23916
なかだです。

At Tue, 13 Jul 2004 21:47:19 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:23884]:
> そろそろ1.8.2のpreview1を出そうと思ってるのですが、やり残し
> たことがある人は宣言してください。

[ruby-dev:23888]でも触れましたが、base64でトップレベルに定義さ
れるメソッドが動きません。

  $ ruby1.8.2 -v -rbase64 -e 'encode64("")'
  ruby 1.8.2 (2004-07-01) [i686-linux]
  -e:1:in `encode64': _deprecated_base64 is deprecated; use Base64._deprecated_base64 instead
  /usr/local/lib/ruby/1.8/base64.rb:126:in `_deprecated_base64': super: no superclass method `_deprecated_base64' (NoMethodError)
          from -e:1:in `encode64'
          from -e:1

1.9の動作は置いておくとして、とりあえずこんなところではないかと。


Index: lib/base64.rb
===================================================================
RCS file: /cvs/ruby/src/ruby/lib/base64.rb,v
retrieving revision 1.1.1.2.10.2
diff -U2 -p -d -r1.1.1.2.10.2 base64.rb
--- lib/base64.rb	12 Feb 2004 12:26:44 -0000	1.1.1.2.10.2
+++ lib/base64.rb	12 Jul 2004 01:02:56 -0000
@@ -120,14 +120,11 @@ module Base64
     include Base64
 
-    def _deprecated_base64(*args)
-      m0, m1 = caller(0)
-      m = m0[/\`(.*?)\'\z/, 1]
-      warn("#{m1}: #{m} is deprecated; use Base64.#{m} instead")
-      super
-    end
-    dep = instance_method(:_deprecated_base64)
-    remove_method(:_deprecated_base64)
     for m in Base64.private_instance_methods(false)
-      define_method(m, dep)
+      module_eval %{
+        def #{m}(*args)
+          warn("\#{caller(1)[0]}: #{m} is deprecated; use Base64.#{m} instead")
+          super
+        end
+      }
     end
   end


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

In This Thread