如果这个问题是重复的,请原谅我;我找不到任何东西,因为我不知道要搜索的正确单词。因此,使用隐式 def,我可以执行以下操作:
type CharsetMap = Map[Charset, Byte]
implicit def seqtup2CharsetMap(input: Seq[(String, Int)]): CharsetMap = {
Map.empty // placeholder
}
def somef(a: Int, b:Int, p: CharsetMap) = p
somef(1, 3, Seq(("hey", 2), ("there", 9)))
这让我可以somef
使用 Seq[(String, Int)] 对象作为参数进行调用。问题是我有这样的东西......
def somef2(p: (CharsetMap) => Int) = p
这不起作用:
val p = (a: Seq[(String, Int)]) => 19
somef2(p)
我怎么能做到这一点而不做一个implicit def
专门的(Seq[(String, Int)]) => Int
?