Sha256: 73bf79ee01b7892f83965602925ad61db334e83042ac43ffe3237e098d640af5
Contents?: true
Size: 819 Bytes
Versions: 1
Compression:
Stored size: 819 Bytes
Contents
module SyMath::Operation # Repeat method until there are no changes def iterate(method, *args) ret = deep_clone.send(method, *args) if ret == self return ret else return ret.iterate(method, *args) end end # Call method recursively down the arguments of the expression # and call self_method on self. def recurse(method, self_method = method) if is_a?(SyMath::Definition) or is_a?(SyMath::Matrix) if self_method.nil? return self else ret = self.send(self_method) return ret end end # Call method on each argument newargs = args.map { |a| a.send('recurse', method) } ret = self.deep_clone ret.args = newargs if self_method.nil? return ret else return ret.send(self_method) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
symath-0.1.1 | lib/symath/operation.rb |