0

これら2つのクラスをリンクさせようとしています。PatientMonitorExceptions.scala

abstract class PatientMonitorExceptions extends Exception
case class InvalidHeartRate (str:String) extends PatientMonitorExceptions

これは、次の行でコンパイルしようとしている私の main.scala です。

main.scala

   import gasguru.patient.PatientMonitor
   import gasguru.patient.Patient
   import gasguru.patient.exceptions.InvalidHeartRate
   object Main extends App  {

    val p = new Patient("snyder","brad");
    val v = p.vitalSigns
    val pm = new PatientMonitor(p);
    p.vitalSigns.heartRate = 160;
    println("The patient's heart rate is: " +  p.vitalSigns.heartRate     + " bpm");
    try { pm checkHeartRate v.heartRate
    }
    catch {
      case InvalidHeartRate(x) => println(x);
      case _ => println("Something else");
    }
  }

私は実行していscala main.scalaます: このエラーをコンパイルするには: InvalidHeartRate の読み込み中にエラーが発生しました。依存関係 'class InvalidHeartRate' がありません。

このエラー メッセージはどういう意味ですか?

4

1 に答える 1

1

main.scalaを参照するときInvalidHeartRateは、ケース クラス用に作成されたコンパニオン オブジェクトを参照し、そのメソッドInvalidHeartRateを呼び出しunapplyて照合を行います。オブジェクトは、クラスパスにInvalidHeartRateあるケース クラスに依存します。InvalidHeartRateコンパニオン オブジェクトの.classファイル ( InvalidHeartRate$.class) は見つかった.classものの、ケース クラス自体のファイルが見つからないため ( )、エラー メッセージが表示されましたInvalidHeartRate.class.classすべてのファイルを削除して再コンパイルすることをお勧めします。

于 2013-09-03T00:52:39.053 に答える