読者です 読者をやめる 読者になる 読者になる

ymnkさんによる添削

scala

我らが東北が誇るEclipseとLiftのコミッタである
山中さんの添削

object StringDump{
  implicit def enrichString(str: String) = new {
    def dump:String={
      str.getBytes("UTF-8").map{ _.asInstanceOf[Char] match{
        case n @ ('"' | '\\') => "\\" + n
        case n if ' ' <= n && n <= '~' => n
        case n => "\\%03o" format (n&0xff)
      }}.mkString("\"","","\"")
    }
  }
  def main(args: Array[String])={
    println(args(0).dump)
  }
}

ずいぶん短くなったものだなぁ。
この中でわかんないのはimplicitの部分か。
_.asInstanceOfのあたりはなんとか理解出来る。