Синтаксис типа Scala
Я заметил, что если я хочу создать универсальную функцию, которая может принимать список любого типа и возвращать логическое значение, я могу использовать следующий синтаксис для объявления функции:
def someFunction[A](l:List[A]):Boolean
Тем не менее, я могу добиться эквивалентного объявления функции с помощью этого синтаксиса:
def someFunction(l:List[_]):Boolean
Последний синтаксис имеет смысл для меня; символ подчеркивания указывает на подстановочный знак для списка любого типа. Однако первое сбивает с толку; Какова семантическая разница между двумя типами синтаксиса, если он вообще существует? Примечание: я заметил, что мог использовать [B] или [c] или даже [%] вместо «[A]» в первом примере синтаксиса.