ymnkさんによる添削
我らが東北が誇る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のあたりはなんとか理解出来る。