0
我需要返回Car
對象的函數car()
。具有以下代碼的文件有效:返回對象的函數
class Car
def something
true
end
end
def car
Car.new
end
將函數放在類之外的同一文件中是否正確?
我需要返回Car
對象的函數car()
。具有以下代碼的文件有效:返回對象的函數
class Car
def something
true
end
end
def car
Car.new
end
將函數放在類之外的同一文件中是否正確?
技術上?是的,那很好。
但是這聽起來像你正在尋找更多的ala 工廠方法。這是一個很好的閱讀:Factory methods in Ruby。
如果您想要創建具有自定義參數的新對象的函數,這是一種很好的做法。
你可以用廠車類中
class Car
def initialize(brand, name)
@brand = brand
@name = name
end
def something_cool
puts "My #{@name} from #{@brand} does cool things"
end
def self.ferrari
Car.new("Ferrari", "F-40")
end
end
然後你可以使用:
ferrari = Car.ferrari
ferrari.something_cool
一些參考:Creational patterns