0

この質問を開始する方法がよくわからないので、ここにいくつかのコードを示します。

def find_attendees_by_attribute(attribute, criteria)
    attribute = attribute.to_sym
    if is_accepted_attribute?(attribute)
        @attendee_list.each do |attendee|
            #How do I get attendee."attribute" here?
        end
    else
        puts "Sorry, not a good attribute."
    end
end

def is_accepted_attribute?(attempted_attribute)
    @attribute_list.include?(attempted_attribute)
end

したがって、上記のコードには、この AttendeeList クラスの @attendee_list にプッシュされた Attendee クラスがあります。今のところ完全一致検索のみを行っています。基本的な機能が得られたら、大文字と小文字を区別せず、空白の削除を追加します。

ブロックで検索されている出席者からそのプロパティを取得できるように、入力された属性を評価したいと考えています。これが明確でない場合はお知らせください。私がやろうとしていることの用語が明らかに不足しています。

4

2 に答える 2

0

respond_to?送信している属性がそのオブジェクトに対して有効かどうかを確認するために使用したい場合があります。@attribute_listとを持つクラスのインスタンスであるとattributes想定していますmethods

class User
  attr_accessor :name

  def search_name
    # some logic here
  end
end

u = User.new

#check if `u` can understand or work with search_name
u.respond_to?(:search_name) #=> true
u.respond_to?(:name) #=> true
u.respond_to?(:eat) #=> false
于 2013-09-14T06:17:45.400 に答える