【发布时间】:2014-07-15 17:55:36
【问题描述】:
所以我在 scala 中导入包时遇到问题。我从 github 下载了包 breeze,因为我想从概率分布中采样。
我习惯了 Python,我可以在其中下载一个包,将其包含在路径中,然后将其导入代码中。所以我对使用单独的“构建工具”来使用 3rd 方包的想法很陌生。
所以我从github下载了“breeze”源代码,安装了sbt,然后在breeze的源代码中,我运行了sbt,然后我使用“assembly”命令为breeze获取了一个.jar。
如果我想使用 scala 解释器,我可以使用
很好地导入包 scala -cp breeze-master/target/scala-2.11/breeze-parent-assembly-0.8.jar
问题是我想在单独的一段代码中使用这个包,我在一个名为 Chromosome.scala 的文件中编写。当我尝试导入包时(如下所示),出现错误:
error: not found: object breeze
这是我的代码:
// Chromosome.scala
import breeze.stats.distributions._
class Chromosome(s:Int, bitstring:Array[Boolean]) {
val size:Int = s;
val dna:Array[Boolean] = bitstring;
var fitness:Int = 0;
def mutate(prob:Float):Unit = {
// This method will randomly "mutate" the dna sequence by flipping a bit.
// Any individual bit may be flipped with probability 'pm', usually small.
val pm:Float = prob;
// The variable bern is an instance of a Bernoulli random variable,
// whose probability parameter is equal to 'pm'.
var bern = new Bernoulli(pm);
//Loop through the 'dna' array and flip each bit with probability pm.
for (i <- 0 to (size - 1)) {
var flip = bern.draw();
if (flip) {
dna(i) = !(dna(i));
}
}
}
【问题讨论】:
-
请包含您的脚本和构建代码。听起来这里可能存在一些误解,但如果没有具体细节,就很难说出来。
-
感谢您的回复 - 刚刚编辑了帖子以更具体并包含一些代码。
标签: scala import package sbt scala-breeze