我正在尝试扩展我在
找到的CSVReader我写了一个类的以下裸骨壳:
class CSVOtherReader(reader: Reader, format: CSVFormat)
extends CSVReader(reader, format) {
}
这给了我错误:
too many arguments for constructor CSVReader: (reader: java.io.Reader)(implicit
format: com.github.tototoshi.csv.CSVFormat)com.github.tototoshi.csv.CSVReader
此类是直接从Scala IDE Eclipse插件创建的,通过创建一个新类,将其标记为继承自超类并直接指向CSVReader类。因此,我觉得语法应该是正确的,但我想知道在哪些情况下这可能不起作用。有没有关于父类(在github链接中找到)的东西阻止我这样做?快速查看Scala中的继承使得这种语法看起来是正确的。
-Arjun
答案 0 :(得分:3)
从CSVReader类的源代码中,您可以看到它有两个单独的参数列表。所以正确的语法是:
class CSVOtherReader(reader: Reader, format: CSVFormat)
extends CSVReader(reader)(format) {
}
或者,如果您想在子类中保留隐式参数:
class CSVOtherReader(reader: Reader)(implicit format: CSVFormat)
extends CSVReader(reader)(format) {
}
IDE显然没有正确处理单独的参数列表。