【发布时间】:2015-02-04 19:35:59
【问题描述】:
我有以下示例代码:
package models
import java.util.concurrent.atomic.AtomicInteger
import scala.collection.mutable.ArrayBuffer
case class Task(id: Int, label: String)
object Task {
private val buffer = new ArrayBuffer[Task]
private val incrementer = new AtomicInteger()
def all(): List[Task] = buffer.toList
def create(label: String): Int = {
val newId = incrementer.incrementAndGet()
buffer += new Task(newId, label)
newId
}
def delete(id: Int): Boolean = {
// TODO : add code
}
}
在方法delete 中,我需要找到一个id 等于参数id 的Task,如果找到,我需要从集合中删除它并从方法中返回true。否则(如果没有找到)我应该返回 false。
我知道如何使用命令式语言(例如 C# 或 Java)来做到这一点,但 Scala 难倒我……
PS:代码严格用于理解语言和平台,在生产中推送太糟糕了。别担心。
【问题讨论】:
标签: scala pattern-matching scala-collections predicate