【发布时间】:2017-05-27 15:48:31
【问题描述】:
我在 scala 中有一个 Person 类型的列表,如下所示:
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))
我想编写一个函数来接收这个列表和一个参数ws: WorkStation.WorkStation(它是一个案例对象),然后我希望该函数返回第一个元素Person,它的列表中有ws。
例如,如果ws 是Workstation 3,我想返回带有Person 2 的列表条目。
我想过做这样的事情:
def setPerson(ws: WorkStation.WorkStation, totalPersons: List[Person]): Person = {
totalPersons.map { p => if (p.workstations.contains(ws)) return p }
}
但是,这不会编译,因为它给了我一个错误,而且它肯定不是最实用的方法。
谁能帮帮我?
【问题讨论】:
标签: scala list functional-programming