我正在阅读 Martin Odersky 的Programming in Scala,到目前为止我一直在使用 vi 和命令行进行编译。我想学习使用 Eclipse 和 Scala-IDE 插件,但是对在 Eclipse 中编译和执行多个源代码文件缺乏基本的了解。
我的IDE如下:
- Ubuntu 12.04
- 日食 3.7.2
- 斯卡拉插件 2.0.1
- 斯卡拉库 2.9.2
我正在使用第 4 章中的校验和示例进行练习。源代码如下:
清单 4.1 和 4.2 / ChecksumAccumulator.scala:
class ChecksumAccumulator {
private var sum = 0
def add(b: Byte) { sum += b }
def checksum(): Int = ~(sum & 0xFF) + 1
}
import scala.collection.mutable.Map
object ChecksumAccumulator {
private val cache = Map[String, Int]()
def calculate(s: String): Int =
if (cache.contains(s))
cache(s)
else {
val acc = new ChecksumAccumulator
for (c <- s)
acc.add(c.toByte)
val cs = acc.checksum()
cache += (s -> cs)
cs
}
}
清单 4.3 / Summer.scala:
import ChecksumAccumulator.calculate
object Summer {
def main(args: Array[String]) {
for (arg <- args)
println(arg + ": " + calculate(arg))
}
}
我可以scalac Summer.scala ChecksumAccumulator.scala
在命令行中编译这些类。然后我可以使用命令行执行目标代码scala Summer of love
,它返回“of”和“love”的校验和结果(分别为 -213 和 -182)。
我将如何使用 Eclipse 而不是命令行构建目标代码,以及如何Summer
通过 Eclipse 调用目标代码?