Archives du Site Metaprogrammation

Formules en ruby


voila une solution court et concis pour faire des formules mathématiques en ruby

class Formule

def initialize(formule)
@formule=formule.gsub(/([a-z]+)/,’hash[\'\1\']‘)
end

def execute(hash)
instance_eval @formule
end
end

exemple d’utilisation

carre=Formule.new(“a*a”)
carre.execute ‘a’=>10
100
moyenne=Formule.new(“(a+b)/2″)
moyenne.execute ‘a’=>5,’b'=>15
10