Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Without inject
- #!/usr/bin/env ruby
- # use env, not a hardcoded path to where the executable might be...
- class Array # we have an OO language, pseudo-functions--, methods++
- def largest # find is somewhat redundant
- return nil if empty? # handle the edge-case early
- largest = numbers.first # .first just reads nicer than [0]
- each { |i| largest = i if i > largest }
- largest
- end
- end
- numbers = []
- while input = gets # end with ctrl-D
- numbers << input.to_i # .chomp is not needed with .to_i
- end
- puts "The biggest number out of #{numbers.join(', ')} is #{numbers.largest}"
- ## With inject
- #!/usr/bin/env ruby
- # use env, not a hardcoded path to where the executable might be...
- module Enumerable
- def largest
- inject { |largest, obj| obj > largest ? obj : largest }
- end
- end
- numbers = []
- while input = gets # end with ctrl-D
- numbers << input.to_i # .chomp is not needed with .to_i
- end
- puts "The biggest number out of #{numbers.join(', ')} is #{numbers.largest}"
Add Comment
Please, Sign In to add comment