首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用类实例化我的Song类

使用类实例化我的Song类
EN

Stack Overflow用户
提问于 2013-10-22 22:03:06
回答 1查看 111关注 0票数 0

我正在学习红宝石的艰难之路- ex40

目前,代码工作正常。这不是我的问题。我的问题是每次我加一首新歌。我需要在初始化方法中创建一个实例变量。然后,我得给它一个attr_reader。

如果可以的话,我知道的是,( A)不必继续创建新的实例变量,而只需在Song类中创建变量。)不必为每个变量创建一个attr_reader。

代码语言:javascript
复制
class Song
  def initialize()
    @jcole_lighter = "Come here, I\'m about to take you higher"
    @hold_on_drake = ["Cause you\'re a good girl and you know it",
                          "You act so different around me",
                          "Cause you\'re a good girl and you know it"]
  end


  def sing_me_a_song()
        for line in initialize
            puts line
        end
    end

  attr_reader :jcole_lighter
  attr_reader :hold_on_drake

end


thing = Song.new
puts thing.jcole_lighter()
puts "-"*10
thing= Song.new
puts thing.hold_on_drake()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-22 22:14:42

请查看this,以获得对attr_readerattr_writerattr_accessor的良好解释。

并查看this以了解如何向构造函数添加参数。

您可以让:attr_accessor :artistsSong中和initialize中这样做:

代码语言:javascript
复制
@artists = Array.new

那么您就可以拥有一个方法add

代码语言:javascript
复制
def add(artist)
  @artists << artist
end

只是个主意。总是乐于帮助德雷克的粉丝。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19529219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档