Uso del operador ternario en el programa Scala [cerrado]

Tengo una matriz de objetos que necesito para aplicar el filtro.

val filteredList = list.filter{ l =>  (pid == "") ? true : l.ProviderId.toUpperCase().contains(pid.toUpperCase()))}

El compilador de Scala no cumple este código. ¿Recibo un error como 1) valor? no es miembro del tipo booleano 2) toUpperCase no es miembro de una cadena.

¿Alguien puede ayudarme a escribir este operador ternario dentro de la función de filtro en scala?

Estoy de acuerdo en que puedo escribir una función personalizada para manejar esto como se menciona @Operadores Ternarios en Scala Sin embargo, estoy interesado en por qué hay un error de compilación para esta declaración. Porque, esta es una declaración válida en Java.

Respuestas a la pregunta(1)

Su respuesta a la pregunta