簡體   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