16.scala编程思想笔记——导入和包

103 阅读1分钟

16.scala编程思想笔记——导入和包

         欢迎转载,转载请标明出处:blog.csdn.net/notbaron/ar…
源码下载连接请见第一篇笔记。

编程的基本原则之一时不要自我重复(Don’t Repeat Yourself,DRY).

         重复代码不仅仅意味着额外的工作,还需要维护多份相同的代码段。

         Scala的import可以服用其他文件中的代码。

例如:

         importpackagename.classname

例如导入标准的util包,如下

import util.Random

 

val r = new Random

println(r.nextInt(10))

println(r.nextInt(10))

println(r.nextInt(10))

执行如下:

0

3

4

可以使用同一条import语句导入多个项:

如:

import util.Random,util.Properties

或者

import util.{Random,Properties}

导入的时候也可以修改导入的名字,例如:

import util.{ Random => Bob,

 Properties => Jill }

如果要导入包中个所有事物,可以使用下划线如下:

import util._

 

此外,scala支持创建并导入包。

例如,创建package如下:

 

package Pythagorean

class RightTriangle {

  defhypotenuse(a:Double, b:Double):Double={

   Math.sqrt(a*a + b*b)

  }

  defarea(a:Double, b:Double):Double = {

    a*b/2

  }

}

注意:package关键字必须是文件中的第一条非注释语句。

然后编译,因为要使这个包能够被其他脚本访问,必须在shell命令行中使用scalac编译这个包,如下:

scalac PythagoreanTheorem.scala

会创建一个和包一样的新目录,里面有一个.class文件

然后使用该package,如下:

val rt = new RightTriangle

println(rt.hypotenuse(3,4))

println(rt.area(3,4))

assert(rt.hypotenuse(3,4) == 5)

assert(rt.area(3,4) == 6)

输出如下:

[root@localhost examples]# scala-nocompdaemon ImportPythagorean.scala

5.0

6.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

\