我正在尝试递归地实现一个方法,但我很困惑,因为在某些时候编译器认为它返回List[List[Any]]
而不是List[List[Char]]
. 这是我的功能:
def anag(wrd: List[Char]): List[List[Char]] = if(wrd.isEmpty) List(wrd)
else wrd.map(l => l :: anag(wrd.tail)) //found: List[List[Any]]
def anag(wrd: List[Char]): List[List[Char]] = if(wrd.isEmpty) List(wrd)
else wrd.map(l => l :: wrd.tail) //OK
我错过了什么?