ruby-reference-manual:2632
From: okkez _ <redmine@r...>
Date: Tue, 10 May 2011 13:04:34 +0900
Subject: [ruby-reference-manual:2632] [るりまプロジェクト - Bug #4659][Assigned] るりま192 Struct#values_atのパラメータについて
Issue #4659 has been updated by okkez _. Status changed from Open to Assigned Assignee set to okkez _ doc.okkez.net と doc.ruby-lang.org は全く同じデータを使っているので同じ内容になります。 それはそれとして、この件はちょっと調べてみます。 ---------------------------------------- Bug #4659: るりま192 Struct#values_atのパラメータについて http://redmine.ruby-lang.org/issues/4659 Author: Daehyub Kim Status: Assigned Priority: Normal Assignee: okkez _ Category: doc Target version: reporter: ruby_version: 192-p180 るりま192を見ると、Struct#values_atにはFixnum|String|Symbolがパラメータとして指定できると書いています。 http://doc.okkez.net/192/view/method/Struct/i/values_at [PARAM] members: Fixnum でメンバのインデックスを指定します。 Symbol, String でメンバの名前を指定します。 ですが、実際にコードを実行して見たところ、エラーが発生してしまいました。 で、githubのruby/trunkの最新ソースで調べて見たら、Struct#values_atはarray.c:2255のrb_get_values_atを呼び出して Structのmemberを取得していることが分かりました。 ということは、values_atのパラメータにはFixnum|Rangeのみが指定できると思います。 (もし、実装予定の機能であればごめんなさい) 以下はriの結果です。 ~> ruby -v ruby 1.9.2p180 (2011-02-18) [x86_64-darwin10.7.3] ~> ri Struct#values_at Struct#values_at (from ruby core) ------------------------------------------------------------------------------ struct.values_at(selector,... ) -> an_array ------------------------------------------------------------------------------ Returns an array containing the elements in self corresponding to the given selector(s). The selectors may be either integer indices or ranges. See also </code>.select<code>. a = %w{ a b c d e f } a.values_at(1, 3, 5) a.values_at(1, 3, 5, 7) a.values_at(-1, -3, -5, -7) a.values_at(1..3, 2...5) -- http://redmine.ruby-lang.org -- ML: ruby-reference-manual@m... Info: http://QuickML.com/