J'ai lu this question, mais je ne pouvais pas créer un exemple complet:Enchaînement conditionnelle en rubis
class Some
def method_a
puts "a"
end
def method_b
puts "b"
end
def method_c
puts "c"
end
end
some = Some.new
a = true
b = true
c = true
l = []
l << :method_a if a
l << :method_b if b
l << :method_c if c
l.inject(some) { |obj, method|
obj.send(method)
}
[Demas @ arch.local.net] [~/dev/étude/ruby / oop ]% rubis inject_ex.rb
uninject_ex.rb: 26: dans
block in <main>': undefined method
method_b » pour nil: NilClass(NoMethodError)
de inject_ex.rb: 26: dans `chaque '
de inject_ex.rb: 26: dans` inject'
de inject_ex.rb: 26: dans ` »