Project Euler code evaluation - digit fifth powers
Here is a little simpler way to write your code:

list = (2..1_000_000).select do |num|
  num.to_s.chars.map {|digit| digit.to_i ** 5}.inject(:+) == num
end



Using map twice is not big issue here, you operate on small collection and memory is not an issue (for really big collections you would probably want to use lazy, it's slower but somehow smarter).
The ampersand converts a symbol to a proc.

Inject without ampersand works pretty much the same, see documentation for details:


  If you specify a symbol instead, then each element in the collection will be passed to the named method of memo


Given memo = 0 and element 12 ruby does: 0 passed-symbol 12.
I'm not sure improvements are worth it, you can't really make it shorter or easier to read and performance or design is not necessary an issue here.