16.scala编程思想笔记——导入和包
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50444154
源码下载连接请见第一篇笔记。
编程的基本原则之一时不要自我重复(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