내가 함수에 기본적으로 다음과 같은 코드가 필요하고, 나는 doSomethingElse()
의 중복을 제거하고 싶습니다 :경우는 다른 절
fun a ->
if a = b then
let c = expensiveOperation()
if c = d then
result
else
doSomethingElse()
else
doSomethingElse()
내가 모두 다른 조항을 제거 할 수 있어야한다고 생각합니다. result
또는 doSomethingElse()
중 하나를 반환하십시오. 그럴 때 컴파일러의 오류 메시지는 다음과 같습니다. "이 표현식에는 유형 단위가 있어야하지만 여기에는 int 유형이 있습니다."
if
표현식에 else
절이 필요한 이유는 무엇입니까?
이 질문은 여기에 대한 답변 : http://stackoverflow.com/a/16490473/701062 –