【发布时间】:2018-05-03 08:01:33
【问题描述】:
以下 F# 函数无法编译
open System
let checkCreation time : DateTime =
if (time > DateTime.UtcNow.AddDays(-7.0)) then printfn "New"
else printfn "Old"
checkCreation time
错误标记指向“新”和“旧”
编译器失败并出现以下错误:
Script1.fsx(3,59):错误 FS0001:此表达式应具有类型
DateTime但是这里有类型
unit
当我试图通过 printfn 打印某些内容时,为什么编译器需要 DateTime?
【问题讨论】:
-
您可以从方法签名中删除
: DateTime,让编译器为您推断类型。目前因为它,编译器认为您将从函数中返回DateTime。但是你没有返回任何东西。
标签: f#