Scala 数据处理:Breeze 库的使用指南
1. 模式匹配与 Breeze 向量提取器
在 Scala 中,模式匹配是一种强大的控制流工具,它能让程序员以声明式的方式编写代码,提高代码的清晰度和简洁性。下面我们将为 Breeze 向量编写一个提取器,因为 Breeze 向量目前不支持模式匹配。
为了避免与 DenseVector 伴生对象冲突,我们在一个单独的对象 DV 中编写 unapplySeq 方法。该方法的主要作用是将参数转换为 Scala 向量实例。为了避免泛型带来的复杂性,我们仅针对 [Double] 向量进行实现:
import breeze.linalg._
object DV {
// Just need to convert to a Scala vector.
def unapplySeq(v:DenseVector[Double]) = Some(v.toScalaVector)
}
现在,让我们测试一下这个新的提取器实现:
val vec = DenseVector(1.0, 2.0, 3.0)
val DV(x, y, z) = vec
在上述代码中, x 、 y 、 z 分别被赋值为 1.0 、
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



