Ruby动态对象创建

时间:2014-03-21 01:01:54

标签: ruby object

好的,我正在尝试为文本文件中的每个找到的电子邮件域创建一个对象。到目前为止,我有匹配的系统工作,现在遇到了一个问题,即时创建对象。这是我到目前为止所得到的。

# domain = emails domain name (e.g. 'example.com')
# Agency = class for domain

        if (domain + "Object").nil? == false 
            domain = Agency.new(domain + "Object")
            @agencyList << domain
            domain.addEmail(match)
            puts "false"
        elsif (domain + "Object").nil? == true 
            domain.addEmail(match)
            puts "true"
           end
        end
     end

所以基本上我想检查电子邮件域是否已经为它创建了一个对象。如果没有,请使用域名创建对象,并使用对象方法addEmail发送匹配的对象。如果它确实将匹配发送到对象方法addEmail。我不想使用哈希,因为我希望匹配在单独的数组中。

我尝试过很多东西,我觉得自己已经掌控了。这是我的第一个ruby脚本。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为您只想检查对象是否在您的代理商列表中。类似的东西:

if @agencyList.any? {|agency| agency.domain == domain }
  agency = Agency.new(domain)
  @agencyList << domain
  agency.addEmail(match)
  puts "false"
else
  domain.addEmail(match)
  puts "true"
end