Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个scala工作表有什么问题_Scala - Fatal编程技术网

这个scala工作表有什么问题

这个scala工作表有什么问题,scala,Scala,我试图弄明白为什么Coursera课程中的多项式赋值没有给出正确的解。我写了这个小的scala工作表,但是我在scala工作表中得到了一个简单表达式的非法开始。它发生在val delta和val solution上。原因是delta是一个变量,用于保存computeDelta方法的输出 您使用delta作为方法调用,delta 比如说, package calculator object test { import Polynomial._ val a = calculator.Var

我试图弄明白为什么Coursera课程中的多项式赋值没有给出正确的解。我写了这个小的scala工作表,但是我在scala工作表中得到了一个简单表达式的非法开始。它发生在val delta和val solution上。

原因是delta是一个变量,用于保存computeDelta方法的输出

您使用delta作为方法调用,delta

比如说,

package calculator


object test {
import Polynomial._

  val a = calculator.Var(4.0);
  val b = calculator.Var(4.0);
  val c = calculator.Var(1.0);

  val delta = computeDelta(a,b,c);

  delta();

  val solution = computeSolutions(a,b,c,delta);

  solution();
}

当我用paranthersis调用greeting变量时,请注意错误,scala将其视为函数调用,但greeting是一个变量。所以当我再次使用它时,没有括号。它起作用了。如果已将partAll应用函数存储到变量中,则可以执行此操作。因为它是一个函数,所以会出现错误。

确保Var返回值。如果可能的话,发布完整的代码,您使用的是哪个IDE?这是官方的scala IDE。有趣的是,我通过在polynomy.java中添加一个Main来尝试上面的代码,结果成功了。因为它不是scala工作表,所以我为delta和解决方案做了一个println,一切都正常。delta是Signal类型,上面定义了update和apply。所以括号很好,就像我在上面的注释中更新的一样,同样的代码在scala应用程序的main方法中工作。工作表中似乎有错误。可能有错误。奇怪的是,它与括号一起工作,因为它在repl中不工作。
scala> def greet() = "Hello World!"
greet: ()String

scala> val greeting = greet
greeting: String = Hello World!

scala> greeting()
<console>:10: error: not enough arguments for method apply: (index: Int)Char in class StringOps.
Unspecified value parameter index.
              greeting()
                      ^

scala> greeting
res14: String = Hello World!