如何处理错误“无法解析符号......”

时间:2015-09-06 13:04:57

标签: scala

如何处理这个问题?我想在this()构造函数中调用一个函数  我使用intellij idea作为我的IDE 这是我的代码:

def this(A:String, B, String) {
    this()
    val items = A.spilt(" ")
    for (elem <- item) {
      val dn = Function1(elem)
      Function2(dn) // here appears "cannot resolve symbol Function2"
    }
}
def Function2(dn:Type) {
......
}

2 个答案:

答案 0 :(得分:1)

我不认为&#34;溢出&#34;是一个有效的功能。你在考虑split吗?

其次,Function2不接受String作为参数,而是接受类型。 Function1的定义是什么?为了工作,必须用这样的东西来定义:

// Notice the type of the argument
def Function1(s:String) = String.type // or any type, but this looks strange

最后,您可以轻松地重构此代码并使其更具功能性:

def this(A:String, B, String) {
    this()
    val items = A.split(" ").map(Function1).map(Function2)
}

def Function2(dn:Type) {
......
}

答案 1 :(得分:0)

方法Function2接受Type类型的参数,但您尝试使用dn参数调用它,该参数类型为Function1。因此编译器找不到名为Function2且参数类型为Function1的方法。