我正在尝试仅在真实时输出函数的输出,但到目前为止所有的尝试都是不合理的。
有些内容:
let printFactor a b = if b then print_any((a,b))
其中b
是布尔值,a
是整数。
当我尝试它时,我得到:
val printFactor : 'a -> bool -> unit
有什么建议吗?
编辑:
把事情放在上下文中我试图用管道操作符来使用它。假设我有一个函数xyz
,它输出一个(int,bool)列表。我喜欢在这些方面做点什么:
xyz |> printFactor
仅打印真实值。
答案 0 :(得分:6)
你可以做到,例如此
let xyz() = [ (1,true); (2,false) ]
let printFactor (i,b) =
if b then
printfn "%A" i
xyz() |> List.iter printFactor
但这可能更惯用,例如此
xyz()
|> List.filter (fun (i,b) -> b)
|> List.iter (fun (i,b) -> printfn "%d" i)
即首先过滤,然后打印。