在 Scala 中,我正在使用 Cats 庫,并且正在使用 mapN() 函式。假設我創建了以下包含 22 個元素的案例類。以下代碼將毫無問題地作業。
case class Example1 (element1: String , element2: String ..... element22)
('string1', ...'string22').mapN(Example1.apply)
可以說我想要一個element23。但不幸的是,編譯器會抱怨缺少引數,因為映射沒有正確完成。有什么方法可以鏈接第 23 個元素,因為我看到 mapN() 函式處理了一個最多 22 個元素的元組。
uj5u.com熱心網友回復:
據我所知,不支持mapNarity > 22 的元組。人們可能會通過在maxArity 這里擺弄來改變貓的情況(盡管這只需要對 Scala 3 這樣做)。
但是:對于您的特定用例(將元組轉換為案例類),Scala 3(我假設您正在使用它,因為 Scala 2 不支持元組 > 22 的元組)將提供一個簡單的解決方案:請參閱在元組和案例類之間轉換在 Scala 3和這個可運行的 scastie 示例中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/510549.html
標籤:斯卡拉斯卡拉猫猫效应
