2015-05-22 33 views
-2

我想達到什麼樣的規格說需要幫助建立一個類的attr_accessor

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

你的意思是? '初始化(make,model,year); @ make,@ model,@ year = make,model,year; end'這是相當基礎的,你嘗試過谷歌還是像tryruby或rubymonk這樣的教程? – engineersmnky

回答

0

下方的存取:當您使用

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

初始化方法總是叫::新。

它需要你::新寫的論點和他們的名字正確(在本例中做出=「極品」等)

attr_accessor :make 

需要@make從初始化併爲您創建另一個方法: 一讀取變量:

def make 
    @make 
end 

和一個寫入變量:

def make(str) 
    @make = str 
end 

在這個特殊的例子

attr_reader 

就足夠了,沒有必要對

attr_accessor