0

私はscalaにたくさんの変数を持っています:

triangleCount = 2
lives = 5
triangleScore = 1
curPlayer.getX
curPlayer.getY

マッチケースで「s」を押すと:

case "s" =>

変数を外部ファイルに書き込みたい。

次に、マッチケースで「l」を押すと:

case "l" =>

変数をプログラムにロードし直して、デフォルトのものを置き換えたいです。

どうすればこれを行うことができますか?scala.io.Source または Java Scanner と関係があることは知っていますが、その方法がわかりません。

ありがとう

4

1 に答える 1

1
case "s" => 
  val pw = new java.io.PrintWriter("myVars")
  pw.println(List(triangleCount, lives, triangleScore, curPlayer.getX, curPlayer.getY).mkString("\t"))
  pw.close

case "l" =>
  val myVarsFromFile = io.Source.fromFile("myVars").getLines.toList
  if (!myVarsFromFile.isEmpty) {
    val toks = myVarsFromFile.head.split("\t")
    var (triangleCount,lives, triangleScore) = (toks(0).toInt, toks(1).toInt, toks(2).toInt)
    curPlayer.setX(toks(3).toDouble)
    curPlayer.setY(toks(4).toDouble)
  }
于 2013-05-02T00:00:40.633 に答える