次のようなScalaコードの例がありますか?Scala:コードブロックをクロージャに変換できますか?
{ println("done!") }.asInstanceOf[() => Any]
これを達成する最も簡潔な方法は何でしょうか?
編集:私の目的は()=> {...}よりも短いクロージャの表現を得ることです。私は()=>部分を取り除きたいです。
編集2:あなたは少しユースケースの例を与える:
implicit class Closure(func:() => Any) {
def asRunnable = new Runnable { override def run() = func() }
def asThread = new Thread(asRunnable)
def run = asThread.start()
}
(() => println("something")).run
いいですが、私はそれが私が望んでいたものではありません。私は明確にするために私の質問にいくつかのメモを追加しました。 –
コードブロックのクロージャーへの変換を行うには不器用な方法もあります。なぜなら、これは最終的に私が何を意味するのか知っていれば暗黙の変換によって行われるからです。 –
@GerhardHagererうん、わかった。そのようなコードの使用例を表示できますか? –