9

私はまったく新しい Scala にいます。
Ubuntu 12.04 に Java、sbt、scala をインストールしました。

nazar_art@nazar-desctop:~$ sbt sbt-version
[warn] Alternative project directory .sbt (/home/nazar_art/.sbt) has been deprecated since sbt 0.12.0.
[warn]   Please use the standard location: /home/nazar_art/project
[info] Loading project definition from /home/nazar_art/.sbt
[info] Set current project to default-5b9232 (in build file:/home/nazar_art/)
[info] 0.12.4
nazar_art@nazar-desctop:~$ scala -version
Scala code runner version 2.10.2 -- Copyright 2002-2013, LAMP/EPFL
nazar_art@nazar-desctop:~$ java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

Idea に scala と sbt プラグインをインストールしました。

最初のサンプル プロジェクトを試したところ、次のエラーが表示されました。

次の行の後、シンボル リストを解決できません:

package example    
import common._

object Lists {      
  def sum(xs: List[Int]): Int = {   // <== here underline for List
    if (xs.isEmpty) 0
    else xs.head + sumList(xs.tail)
  }    
}

正確に何が間違っているのかわかりませんでしたか?IDEA はインポートを提案していますjava.util.Listが、このクラスにはメソッドがありませんisEmpthy()
なにか提案を?

  • この問題を解決するにはどうすればよいですか?

アップデート:

  • #12 の代わりに新しいバージョンのIntelliJ IDEA 13 Community Edition/usr/local/Ideaを再インストールしました。
  • sbt-を削除しsudo apt-get purge sbtました。そして、このスクリプトに合わせて再インストールします。
  • /MyProjectDirectory/project/'plugin.sbt' に移動して、次のコンテンツを作成しました。

    addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.1")

  • この後、プロジェクト ディレクトリから入力しsbt gen-ideaます。アイデアのプロジェクトを再構築します。

  • このプロジェクトをアイデア グリーティング ウィンドウ (Open Paroject) で開きます。もちろん、プラグインもインストールsbt済みscala

それは十分なはずですが、再び表示されました:

Cannot resolve symbol List

import を提案しimport scala.collection.immutable.Listます。しかし、これは役に立ちません。赤い線で下線が引かれ続けます。 ここに画像の説明を入力

4

3 に答える 3

6

IDEA プラグインに scala クラスが表示されない場合は、[ファイル] -> [プロジェクト構造] に移動し、次の点を確認してください。

  1. アプリケーションに Scala ファセットが追加されていることを確認します。[ファセット] タブに移動し、Scala ファセットがそこにリストされているかどうかを確認します。そうでない場合は、追加して構成する必要があります。次に、Scala を必要とするすべてのモジュールの下に Scala Facet がリストされていることを確認します。

  2. Scala ファセットが適切なバージョンの scala ライブラリを使用していることを確認してください (見つからない場合、Idea はそれを赤でマークします)。

  3. scala-library.jar が、Scala を使用するモジュールの依存関係のリストにあることを確認してください。パスが正常かどうかを確認します。

于 2013-09-23T13:50:08.820 に答える
0

これはIDEAの問題だと思います。Scala IDEで同じプロジェクトを開くと、これをすぐに確認できます。

コマンドラインで試すこともできます:

[m:~/Scala/Hello]$ scala
Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_51).
Type in expressions to have them evaluated.
Type :help for more information.

scala> var l = List()
l: List[Nothing] = List()
于 2013-09-23T13:46:19.087 に答える