Rightmost Char

「カンマの前の文字列」に「カンマの後の文字」が右から何番目にあるかを表示。
なければ-1を表示する。

設問

You are given a string 'S' and a character 't'. Print out the position of the rightmost occurrence of 't'(case matters) in 'S' or -1 if there is none. The position to be printed out is zero based.

Input sample:

The first argument is a file, containing a string and a character, comma delimited, one per line. Ignore all empty lines in the input file.e.g.

Hello World,r
Hello CodeEval,E

Output sample:

Print out the zero based position of the character 't' in string 'S', one per line. Do NOT print out empty lines between your output.
e.g.

8
10

やってみた

#!/usr/bin/env ruby

ARGF.lines do |line|
  str, char = line.chomp.split(',')
  puts str.rindex(char) || -1
end

参考

RubyでRightmost Charを解く -CodeEval - hp12c

#!/usr/bin/env ruby
ARGF.lines do |line|
  if m = line.match(/^(.*),(\w)/)
    res = m.captures.instance_eval { first.rindex last }
    puts res ? res : -1
  end
end

やってることは基本同じですが
instance_evalを使っている。なるほどこういう書き方もできるんですね。
MatchData#capturesも知らんかったわ。