のように見やすく、同じファイルに出力したいです。

def pick(version, locate, time, rows, columns)
  version.each do |vnum|
    locate.each do |where|
      fn = File.expand_path("./#{vnum}/#{where}/#{time}.map")
      data = open(fn).readlines.map{|line| line.split("\t")}[*rows]
      value = data.map{|r| r[columns].map{|c| "%4s" % c}.join}.join
      printf("%10s   %10s\n",where,value)
    end
  end
end


  pick(["prog1nd", "prog2nd"], ["tokyo", "fukushima"], "20020923", 43..44, 8..10)

のみたいにするとすれば、printf("%10s\(%s\)\t\t\t%10s\n", where, vnum, value)  でつまずきます。
どなたか何かよいアドバイスはないでしょうか。