There is still a bug with the way you have coded the result variable.. Check this out
```ruby
[1,2,3,6].inject([]) do |result, elem|
    next if elem > 7
  result << elem
  end
 => [1,2,3,6]

[1,2,3,6].inject([]) do |result, elem|
    next if elem > 2
  result << elem
  end
=> nil
```
the return value of last executed statement is taken as the result for the next statement. "next if" makes the result for succeeding rules nil, so you end up with nil.. You need to do something like this.
```ruby
[1,2,3,6].inject([]) do |result, elem|
    if elem > 2
      result << elem
    end
    result
  end

=> [3,6]
```