首页 > 解决方案 > 得到相同的错误类型“列表”与 F# 中的类型“int”不匹配

问题描述

我需要你的帮助。我试图运行一个简单的 F# 程序,但我遇到了这个错误:“列表”类型与“int”类型不匹配。这是代码:

let mutable q = 0
let mutable m = 0
let mutable k = 0
let mutable h = 0


printf("Enter the day:")
q <- System.Console.ReadLine() |> int
printf("Enter the month:")
m <- System.Console.ReadLine() |> int
printf("Enter the year:")
k <- System.Console.ReadLine() |> int
let j = k / 100

let h = (q + [(13*(m+1))/5] + k + [k/4] + [j/4] - 2*j) % 7



printfn "The day is: %int" h
System.Console.ReadKey() |> ignore

我只是想获得“h”的值。它如何与“j”而不是“h”一起使用?提前致谢 !:)

标签: f#

解决方案


在表达式[(13*(m+1))/5], [and ]are used 中,这是 F# 识别列表的方式,表达式应该使用(and ),例如

let h = (q + ((13*(m+1))/5) + k + (k/4) + (j/4) - 2*j) % 7

请参阅:F# 列表


推荐阅读