我想允許用戶指定的函數計算某些屬性,並希望這個函數存儲在一個泛型類。也就是說,類的每個實例都具有相同的接口,但調用'calculate'方法的結果因用戶提供的函數而異解析方法,並將其存儲在數據庫
我還想序列化此類並將其存儲在數據庫中供以後使用使用。這就是我在想的
class LogicalCharge < Charge
attr_reader :name, :type, :formula, :threshold
def initialize(name: nil, type: nil, formula: nil, threshold: nil)
super(name: name, type: type)
@formula = formula
@threshold = threshold
end
def parse(formula: nil)
end
def calculate(dimensions: nil)
parse(formula: formula).call(dimensions) < threshold
end
有關如何從這裏繼續下去的任何建議?
執行用戶提供的代碼?壞的主意(來自安全POV) – 2014-09-10 10:01:30
對另一種方法有何建議? – Tarlen 2014-09-10 11:13:14