【发布时间】:2020-02-22 09:39:58
【问题描述】:
查看对象 DecoupledHelper 和类 DecoupledHelper 代码,我看到以下内容。
object DecoupledHelper {
def apply(rvs: Bool*) = new DecoupledHelper(rvs)
}
class DecoupledHelper(val rvs: Seq[Bool]) {
def fire(exclude: Bool, includes: Bool*) = {
(rvs.filter(_ ne exclude) ++ includes).reduce(_ && _)
}
}
我不明白 apply 方法中的参数声明语法。 (rvs: Bool*)。 Bool 类型末尾的* 是什么意思。
查看 DecoupledHelper 类的构造函数参数,它期望 (rvs: Seq[Bool])
这是否意味着Bool* 类型会自动转换为Seq[Bool] 类型?
此时,谁能解释一下 rvs.filter 方法在做什么?
【问题讨论】:
-
这是 Scala 用于具有可变数量参数的函数的语法。更多信息:alvinalexander.com/scala/…
标签: chisel