On Nov 13, 8:35 am, James Edward Gray II <ja... / grayproductions.net> wrote: > Can you show how my concat() solution was "incorrect?" You had code > like: I'm sorry, I meant your removal of the gsub block was incorrect. class Object def as yield self end end input = %w(a b) re = %r!a\Z! filename = input.map { |t| t.gsub(re, "_") }.join.as { |t| File.basename(t) } puts filename # => _b file_name = File.basename(input.join.gsub(re, "_")) puts file_name # => ab It is not name-calling to observe that you don't understand my argument. My apologies; no offense was intended. Nonetheless I still believe that you haven't followed what I've said in this thread.