我有以下代码。我明确地将返回类型定义为boolean
let inputChecker (romanNumber:list<char>) :bool = function
| [] -> false
| head::tail when head<= tail.Head && tail.Head<=tail.Tail.Head -> false
| _ -> true
但我认为它将:bool
视为参数。我也试过了(:bool)
,但仍然无效。
答案 0 :(得分:3)
如果使用function
,则不在签名中指定参数:
let inputChecker: (char list -> bool) = function
| [] -> false
| head::tail when head<= tail.Head && tail.Head<=tail.Tail.Head -> false
| _ -> true
如果要明确指定参数,请使用match
let inputChecker (romanNumber: char list): bool =
match romanNumber with
| [] -> false
| head::tail when head<= tail.Head && tail.Head<=tail.Tail.Head -> false
| _ -> true
不需要输入注释,您可以跳过它们。