所以我寫了一個簡單的產品類,並從類中實例化。紅寶石方法定義
#This class defines a product
#It provides a method that can be used to provide a discount on any given instance of a product
class Product
attr_reader :name, :description, :price
def initialize (name, description, price)
@name = name
@description = description
@price = Float(price)
end
def price=(sale_price)
@price = sale_price
end
def to_s
"Name: #{@name}, Description: #{@description}, Price: #{@price}."
end
end
my_product = Product.new("redshoes","These are beautiful",50.00)
my_product.price = my_product.price * 0.50
puts "The new sale price of #{my_product.name} is #{my_product.price}"
我有一個問題我需要澄清那就是當我這樣定義一個方法:
def price=(sale_price)
@price = sale_price
end
我定義的方法,並在同一時間將其分配給一個變量。第一行「def price =(sale_price)」有點令人困惑,因爲我基於在線研究和書籍撰寫了這篇文章,但如果我可以對此進行一些澄清,這將會有所幫助。
謝謝你們。@@ Guilherme Bernal由於您提到兩種方法相同,所以我對代碼進行了更改,但是我得到的錯誤數量參數錯誤(1代表0)(ArgumentError) def price(sale_price) @price = sale_price end def to_s 「名稱:#{@ name},描述:#{@ description},價格:#{@ price}。」 結束 結束 my_product = Product.new( 「redshoes」, 「這是美麗的」,50.00) my_product.price = my_product.price * 0.50 看跌期權「的#新的銷售價格{} my_product.name是# {my_product.price}「 – user2912496