scala - 错误:未找到:值

naz*_*art 17 scala runtime-error worksheet

我最近在scala并尝试传递一些简单的scala工作表.

IDE是Intellij IDEA社区版和OS Ubuntu 12.04,sbt安装正确.

但它会引发错误 - error: not found: value

OI无法理解为什么会这样:

码:

object session {
  1 + 2
  def abs(x: Double) = if (x < 0) -x else x         <== update this line
  def sqrtIter(guess: Double, x: Double): Double =
    if (isGoodEnough(guess, x)) guess
    else sqrtIter(improve(guess, x), x)

  def isGoodEnough(guess: Double, x: Double) =
    abs(guess * guess - x) < 0.001

  def improve(guess: Double, x: Double) =
    (guess + x / guess) / 2
  def sqrt(x: Double) = sqrtIter(1.0, x)
  sqrt(2)
  sqrt(4)
}
Run Code Online (Sandbox Code Playgroud)

屏幕右侧输出:

> res0: Int = 3

> <console>:8: error: not found: value isGoodEnough
             if (isGoodEnough(guess, x)) guess else sqrtIter(improve(guess, x), x)  
                 ^
  <console>:8: error: not found: value improve
             if (isGoodEnough(guess, x)) guess else sqrtIter(improve(guess, x), x)  
                                                             ^
> <console>:8: error: not found: value abs
             abs(guess * guess - x) < 0.001
             ^
> improve: (guess: Double, x: Double)Double

> <console>:7: error: not found: value sqrtIter
         def sqrt(x: Double) = sqrtIter(1.0, x)
                               ^    
> <console>:8: error: not found: value sqrt
                sqrt(2)
                ^

> <console>:8: error: not found: value sqrt
                sqrt(4)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Sha*_*nds 21

完整的错误消息是error: not found: value abs.找不到值"abs".你想要的math.abs.或者,您可以import math._在需要这些数学函数之前添加某个地方.