【发布时间】:2013-05-07 19:26:20
【问题描述】:
我在一个函数中基本上有以下代码,我想消除doSomethingElse()的重复:
fun a ->
if a = b then
let c = expensiveOperation()
if c = d then
result
else
doSomethingElse()
else
doSomethingElse()
我认为我应该能够消除这两个 else 子句。让它返回result 或doSomethingElse()。当我这样做时,来自编译器的错误消息是:“这个表达式应该有类型单元,但这里有 int 类型”
为什么if 表达式需要else 子句?
【问题讨论】:
-
这个问题在这里得到解答:stackoverflow.com/a/16490473/701062