繁体   English   中英

Scala〜类型不匹配; 找到:_ $ 1必需:_ $ 2

[英]Scala ~ type mismatch; found : _$1 required: _$2

我在这样的函数中有一个泛型:

@import java.util.List;

@(field:List[_], min:Int=1)(f: (_, Int) => Html)
@{
    (0 until math.max(if (field.isEmpty) 0 else field.size, min))
        .map(i => f(field.get(i),i)) 
}

当我运行这段代码时,我得到了这个真的没有帮助的错误消息:

type mismatch; found : _$1 required: _$2

我不知道这是什么意思,但是错误似乎出在field.get(i) -任何解决此问题的想法?

您的块带有两个参数列表:

  1. 第一个具有两个参数:
    • 字段:列表[_] <--- _ $ 1类型的列表
    • 最小值:整数
  2. 第二个参数带有一个参数,它是一个函数(f),该函数接受(类型_ $ 2和一个Int类型)并返回Html。

如果您假定与第一个参数类型完全相同的内容的字段保留列表应输入f,则可以如下定义函数:

def convertSomethingGenericToHtml[T](field: List[T], min: Int = 1)(f: (T, Int) => Html) {
    (0 until math.max(if (field.isEmpty) 0 else field.size, min)).map(i => f(field.get(i),i))
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM