# File lib/quiz1/t/solutions/Niklas Frykholm/solitaire.rb, line 107 def process(s, &combiner) s = sanitize(s) out = "" s.each_byte { |c| if c >= ?A and c <= ?Z key = @keystream.get res = combiner.call(c, key[0]) out << res.chr else out << c.chr end } return out end