需要帮助使用attr_accessor设置类

时间:2015-05-22 14:52:54

标签: ruby

我想达到规格所说的

 describe "Car" do
  describe "initialize" do
    it "should take make, model and year" do
      new_car = Car.new("Acura", "Integra", 1998)
      expect( new_car.make ).to eq("Acura")
      expect( new_car.model ).to eq("Integra")
      expect( new_car.year ).to eq(1998)
    end
  end

这是我到目前为止所提出的,我不知道接下来该做什么。

   class Car
  attr_accessor :make, :model, :year
end

我需要帮助设置其余部分并解释它是如何工作的。谢谢!

1 个答案:

答案 0 :(得分:0)

在访问者下面:

def initialize(make, model, year)
  @make = make
  @model = model
  @year = year
end

使用:: new。

时,始终会调用Initialize方法

它需要你在:: new中编写的参数并正确命名它们(在这个例子中make =" Acura"等等)

attr_accessor :make

从初始化中获取@make并为您创建另一种方法: 一个读取变量:

def make
  @make
end

一个写入变量:

def make(str)
  @make = str
end

在这个特定的例子中

attr_reader

就够了,没有必要

attr_accessor