[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:3634

From: "sho-h (Sho Hashimoto)" <sho-h@n...>
Date: Tue, 16 Apr 2013 23:59:59 +0900
Subject: [ruby-reference-manual:3634] [るりまプロジェクト - Bug #8280][Open] Struct の説明の修正


Issue #8280 has been reported by sho-h (Sho Hashimoto).

----------------------------------------
Bug #8280: Struct の説明の修正

https://bugs.ruby-lang.org/issues/8280

Author: sho-h (Sho Hashimoto)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
reporter: 
ruby_version: 


=begin
Struct の「このメソッドは Struct の下位クラスにのみ定義されています」はすべて不要ではないかと思いました。

* ((<URL:http://doc.ruby-lang.org/ja/1.9.3/class/Struct.html>))

現在の記述は make_struct(Struct.new で呼ばれる関数) の中で new、[]、members を rb_define_singleton_method してるからかもしれません(each と each_pair も「このメソッドは...」とある理由はわかりませんでしたが...)

1.8.7 での以下の確認結果だけ見ても不要そうです。

  $ irb
  > Foo = Struct.new(:a)
  > Struct.public_instance_methods(false)
  # => ["eql?", "each_pair", "members", "==", "to_s", "[]", "[]=", "hash", "to_a", "size", "values_at", "length", "select", "values", "each", "inspect"]
  Foo.public_instance_methods(false)
  # => ["a", "a="]
  > RUBY_VERSION
  # => "1.8.7"

  $ grep rb_define_ 1.8/ruby-1.8.7-p358/struct.c | grep rb_cStruct
    ...
    rb_define_method(rb_cStruct, "each", rb_struct_each, 0);
    rb_define_method(rb_cStruct, "each_pair", rb_struct_each_pair, 0);
    rb_define_method(rb_cStruct, "[]", rb_struct_aref, 1);
    rb_define_method(rb_cStruct, "[]=", rb_struct_aset, 2);
    rb_define_method(rb_cStruct, "select", rb_struct_select, -1);
    rb_define_method(rb_cStruct, "values_at", rb_struct_values_at, -1);
    rb_define_method(rb_cStruct, "members", rb_struct_members_m, 0);

実質影響はないので今までこのままだったのかもしれませんが、「このメソッドは...」については近い内に削除してしまおうかと思います。
=end



-- 
http://bugs.ruby-lang.org/

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    3634 2013-04-16 16:59 [sho-h@n...          ] [るりまプロジェクト - Bug #8280][Open] Struct の説明の修正
      3645 2013-04-25 02:35 ┣[redmine@r...        ] [るりまプロジェクト - Bug #8280][Assigned] Struct の説明の修正
      3649 2013-04-25 06:20 ┣[sho-h@n...          ] [るりまプロジェクト - Bug #8280] Struct の説明の修正
      3651 2013-04-27 03:36 ┣[sho-h@n...          ] [るりまプロジェクト - Bug #8280] Struct の説明の修正
      3660 2013-05-07 15:24 ┣[sho-h@n...          ] [るりまプロジェクト - Bug #8280] Struct の説明の修正
      3665 2013-05-10 13:29 ┗[sho-h@n...          ] [るりまプロジェクト - Bug #8280][Closed] Struct の説明の修正