函数需要太多参数F#

时间:2015-11-13 13:55:11

标签: f#

我有以下代码。我明确地将返回类型定义为boolean

let inputChecker (romanNumber:list<char>) :bool = function
   | [] -> false
   | head::tail when head<= tail.Head && tail.Head<=tail.Tail.Head  -> false 
   | _ -> true

但我认为它将:bool视为参数。我也试过了(:bool),但仍然无效。

1 个答案:

答案 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

不需要输入注释,您可以跳过它们。