2

最近、Eclipse Juno に更新しました。これにより、Scala も 2.10 に更新されました。アクターが現在非推奨であることは知っていますが、引き続き使用したいと思います。scala-actors.jar と scala-actors-migration.jar は私の Eclipse ビルド パスの一部ですが、インポートに対して「オブジェクト アクターはパッケージ scala のメンバーではありません」というメッセージが表示されます。プロジェクトにscalaライブラリを再追加しようとしても失敗し、修正されませんでした。

Eclipse Juno および Scala 2.10 を搭載した Mac OS X Lion。

いくつかのコード (エラー XXX をマーク):

import scala.actors.Actor    XXX actors not found in scala
import scala.actors.Actor._  XXX actors not found in scala

  class Solver() extends Actor {   XXX Actor not found

    def act() {
      // Read file
      val source = io.Source.fromFile("src/labyrinth.txt", "utf-8")
      val lines = source.getLines.toList
      source.close()

      // Fill multidimensional array
      var labyrinth = Array.ofDim[Cell](lines.length, lines.apply(0).length)
      for (i <- 0 until lines.length) { // each line
        for (j <- 0 until lines.apply(0).length) { // each column
          labyrinth(i)(j) = new Cell(lines.apply(i).toList.apply(j)) // Fill array cell with character
        }
      }

      // Search for start
      for (k <- 0 until labyrinth(0).length) {
        if (labyrinth(0)(k).character.toString() == "?") {
          val start = new CheckCell(labyrinth, Array((1, k)), this).start // Kick off search
          while (true) {
            receive { XXX receive not found
              case FoundSolution =>  XXX FoundSolution not found
                Console.println("Pong: stop")
                start ! Stop  XXX Stop not found
                exit()
            }
          }
        }
      }

    }

  }
4

1 に答える 1

1

あなたの例は私にとってはうまくいきます( と のような欠落しているタイプを除くCellCheckCell。次のいずれかに該当する可能性があると思います。

  • ソースファイルのpackage scala.blah宣言
  • scalaサブディレクトリとして含まれるソース フォルダ。プロジェクトのプロパティ、ビルド パスでそれを確認し、ソース フォルダーを探します。Maven 規則を使用する場合はsrc/main/scala、ソース ディレクトリにする必要があります ( orだけではありません)。src/src/main/

上記の両方のポイントは、標準scalaパッケージを隠して、明らかに型を持たない宣言 (またはディレクトリ) に置き換えることができますActor

于 2013-01-28T10:52:34.953 に答える