实习笔记 12:Scala 学习笔记

1. parameters and return types

numerics, boolean, string, function

example:

def abs(x: Int) = if (x >= 0) x else -x

call by val:  (x:Int)

call by name:   (y:=>Int)

2. blocks and lexical scope

def sqrt(x: Double) = {
  def sqrtIter(guess: Double): Double =
    if (isGoodEnough(guess)) guess
    else sqrtIter(improve(guess))
  def improve(guess: Double) =
    (guess + x / guess) / 2
  def isGoodEnough(guess: Double) =
    abs(square(guess) - x) < 0.001
  sqrtIter(1.0)

 

 

----------挖坑------

 

 

posted on 2013-09-27 20:33  surghost  阅读(218)  评论(0编辑  收藏  举报

导航