Guest User

Untitled

a guest
Jun 21st, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. ## Without inject
  2. #!/usr/bin/env ruby
  3. # use env, not a hardcoded path to where the executable might be...
  4.  
  5. class Array # we have an OO language, pseudo-functions--, methods++
  6. def largest # find is somewhat redundant
  7. return nil if empty? # handle the edge-case early
  8.  
  9. largest = numbers.first # .first just reads nicer than [0]
  10. each { |i| largest = i if i > largest }
  11.  
  12. largest
  13. end
  14. end
  15.  
  16. numbers = []
  17.  
  18. while input = gets # end with ctrl-D
  19. numbers << input.to_i # .chomp is not needed with .to_i
  20. end
  21.  
  22. puts "The biggest number out of #{numbers.join(', ')} is #{numbers.largest}"
  23.  
  24. ## With inject
  25. #!/usr/bin/env ruby
  26. # use env, not a hardcoded path to where the executable might be...
  27.  
  28. module Enumerable
  29. def largest
  30. inject { |largest, obj| obj > largest ? obj : largest }
  31. end
  32. end
  33.  
  34. numbers = []
  35.  
  36. while input = gets # end with ctrl-D
  37. numbers << input.to_i # .chomp is not needed with .to_i
  38. end
  39.  
  40. puts "The biggest number out of #{numbers.join(', ')} is #{numbers.largest}"
Add Comment
Please, Sign In to add comment