# Ruby Array#values_at ``` ruby require 'prime' base = (1..100).to_a target = Prime.take_while { |e| e < 100 } def foo1(base, target) sum = 0 base.each_with_index do |e, index| next unless index.in?(target) sum += e end sum end def foo2(base, target) sum = 0 base.values_at(*target).each do |e| sum += e end sum end foo1(base, target) == foo2(base, target) # true Benchmark.ms { 10000.times { foo1(base, target) } } # => 1859.207000117749 Benchmark.ms { 10000.times { foo2(base, target) } } # => 42.76800015941262 ```