【发布时间】:2018-07-12 22:48:31
【问题描述】:
我有一个 when 构造,它想在两件事上匹配:
when (activeRequest.verb to activeRequest.resourceType) {
GET to "all" -> allGet()
PUT to "foo" -> fooPut()
GET to "foo" -> fooGet()
POST to "bar" -> barPost()
GET to "bar" -> barGet()
COPY to "bar" -> barCopy()
DELETE to "bar" -> barDelete()
else -> logMismatch()
}
使用to 对构造函数是唯一的方法吗?对 Pair 的使用似乎很奇怪(尽管它有效)。我很难找到它,因为代码片段像
for ((key, value) in hashMap) {
println("$key $value)
}
让我觉得我应该能够在 when 代码中做类似的事情,例如
when (activeRequest.verb, activeRequest.resourceType) {
(GET, "all") -> allGet()
(PUT, "foo") -> fooPut()
...
else -> logMismatch()
}
虽然这对有效......如果我想做 3 件事情怎么办?
【问题讨论】:
标签: kotlin