一个类方法,它返回Ruby中唯一的元素数组(没有重复项)

时间:2017-02-15 16:44:40

标签: ruby

正如标题所述,我正在尝试创建一个类方法,在调用时返回一组唯一元素。

好的,这是完整的代码,我试图解释它,因为有更多关注这个问题。在这种情况下,我们正在查看#artists方法。

class Song
  attr_accessor :name, :artist, :genre
  attr_writer :count

  @@count = 0
  @@genres = []
  @@artists = []

  def initialize(name, artist, genre)
    @name = name
    @artist = artist
    @genre = genre
    @@count += 1
    @@genres << genre
    @@artists << artist
  end

  def self.count
    @@count
  end

  def genres
    @@genres
  end

  def artists
    @@artists.uniq!
  end

  def genre_count

  end 


#end of class
end

2 个答案:

答案 0 :(得分:1)

使用您的确切代码(简要忽略类),运行命令random_things我没有错误和您想要的结果。

@@things = ["crayon", "pencil", "crayon", "pen", "marker", "marker"]

def random_things
  @@things.uniq!
end

random_things

=> ["crayon", "pencil", "pen", "marker"]

您是否尝试在名为艺术家的类上调用该方法?如果是这样,你能提供电话和课程吗?

答案 1 :(得分:0)

我想通了,我忘了把自我主义者放在那里。自我失踪了。唉..哈哈。谢谢你们,我会回来的。