У меня есть следующий код, который должен подсчитывать количество раз, когда символ появляется в строке.Scala Filter Chars from String
def filter[T] (l: List[T], stays: T ⇒ Boolean): List[T] = {
if(l == Nil) return Nil
if (stays(l.head) == true) l.head :: filter(l.tail, stays)
else filter(l.tail, stays)
}
def countChar(s: String): List[(Char, Int)] = {
if (s == "") Nil
else (s(0), s.count(_ == s(0))) :: countChar(filter(s.toList, _ == s(0)).mkString)
}
Теперь моя проблема заключается в том, что в
filter(s.toList, _ == s(0))
Я получаю ошибку: недостающий параметр типа. Я понимаю, что это происходит от вложенности функции?
Как я могу исправить это для работы? Я знаю, что у String есть некоторые способы делать то, что я хочу, но я бы хотел использовать свой собственный метод фильтрации.