次々とヤバいコードを紡ぎ出し NY Scala シーンの中心的存在であり続ける @n8han が二年前に書いた "Weaving tweed with Scala and Json" を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。
命からがら逃げ出した僕は抽出子をありとあらゆる状況に適用するよう努めた。例えば、JavaScript インタプリタが理解できるお洒落な文字列、Json オブジェクトだ。抽出子を使えば case
構文でこのように処理することができる:
import dispatch.json.Js
val echo = Js("""{"acting": "無表情で前を見ている"}""")
object Echo extends Js { val acting = 'acting ? str }
echo match {
case Echo.acting(hmm) => hmm
case _ => "pshaw"
}
res0: String = 無表情で前を見ている
Symbol
'acting
に対して ?
を呼び出すことで抽出子が作成される。Symbol
には ?
メソッドはないが暗黙の変換でそれをもつオブジェクトに変換されている。