I have a list of type Person in scala like this:
Person("P1", "Person 1", List(WorkStation 1, WorkStation 2))
Person("P2", "Person 2", List(WorkStation 1, WorkStation 3, WorkStation 4, WorkStation 5))
Person("P3", "Person 3", List(WorkStation 3, WorkStation 5))
Person("P4", "Person 4", List(WorkStation 2, WorkStation 4))
I want to code a function that receives this list and a parameter ws: WorkStation.WorkStation (it is a case object) and then I want that function to return the first element Person which has ws in it's list.
For example, if ws was Workstation 3 I wanted to return the list entry with Person 2.
I thought about doing something like this:
def setPerson(ws: WorkStation.WorkStation, totalPersons: List[Person]): Person = {
totalPersons.map { p => if (p.workstations.contains(ws)) return p }
}
However, this doesn't compile, because it gives me an error and it is not the most functional approach for sure.
Can anyone help me?