Scalaの限定継続で四天王問題を解いてみた
Scalaの限定継続でSICP4章のambっぽいものを作って四天王問題(勝手に命名)を解いてみた。
一応転載もしておく
A「Dがやられたようだな…」B「ククク…奴は我ら四天王の中でも最弱…」C「私はBよりも弱い…」A「そして私は最強ではない…」B「四天王の中に私よりも弱いものが最低でも二人いる…」C「私はAよりも強い…」 ※以上の条件から四天王を強い順に並べよ(5点)
コードはこんな感じ。思いのほかあっさり書けた。
ちなみに2.8.0betaのころはscala.util.continuationsではなくscala.continuationsだったらしく、その頃の記事を参考にしていたせいでimportできずに苦しんだのはないしょ。
あと備忘をかねてsbtの人向けにプロジェクトの設定を書いておく。
import sbt._ class MyProject(info: ProjectInfo) extends DefaultProject(info) with AutoCompilerPlugins { val cont = compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.8.0") override def compileOptions = super.compileOptions ++ compileOptions("-P:continuations:enable") }