lib/scope.rb in expressive-0.0.1 vs lib/scope.rb in expressive-0.0.2
- old
+ new
@@ -41,13 +41,13 @@
syntax('set') do |scope, cells|
scope[cells.first.text_value] = cells[1].eval(scope)
end
- define('+') {|a,b| a + b }
- define('-') {|a,b| a - b }
- define('*') {|a,b| a * b }
- define('/') {|a,b| a / b }
+ define('+') {|a,b| a.to_f + b.to_f }
+ define('-') {|a,b| a.to_f - b.to_f }
+ define('*') {|a,b| a.to_f * b.to_f }
+ define('/') {|a,b| a.to_f / b.to_f }
define('=') {|a,b| a == b }
- define('sum') {|*args| args.flatten.reduce(:+) }
+ define('sum') {|*args| args.flatten.map(&:to_f).reduce(:+) }
end
end