fork download
  1. class Range
  2. def coerce(n)
  3. case caller[0].match(/`(.*)'/)[1]
  4. when "-"
  5. [self.class.new(-last, -first, exclude_end?), -n]
  6. else
  7. [self, n]
  8. end
  9. end
  10.  
  11. def +(n); first+n..last+n end
  12. def -(n); first-n..last-n end
  13. def *(n); (first*n..last*n).step(n) end
  14. end
  15.  
  16. module Enumerable
  17. def squared
  18. map{ |x| x**2 }
  19. end
  20.  
  21. def sum
  22. inject(0,&:+)
  23. end
  24. end
  25.  
  26. p (6 + (1..12)).squared.sum
  27. p (6 - (1..12)).squared.sum
  28. p (6 * (1..12)).squared.sum
  29. p ((1..12) + 6).squared.sum
  30. p 6 - (1..12)
  31. p (1..12) - 6
  32. p ((1..12) - 6).squared.sum
  33. p ((1..12) * 6).squared.sum
  34. p ((1..12).squared * 36).sum
Success #stdin #stdout 0.01s 5996KB
stdin
Standard input is empty
stdout
2018
146
23400
2018
-6..5
-5..6
146
23400
23400