Mar*_*com 3 f# functional-programming
我只是在它是真的时才尝试打印函数的输出,但到目前为止所有的尝试都是不合理的.
有点像:
let printFactor a b = if b then print_any((a,b))
Run Code Online (Sandbox Code Playgroud)
b布尔值在哪里,a是一个整数.当我尝试它时,我得到:
val printFactor : 'a -> bool -> unit
Run Code Online (Sandbox Code Playgroud)
有什么建议?
编辑:
把事情放在上下文中我试图用管道操作符来使用它.假设我有一个xyz输出(int,bool)列表的函数.我喜欢在这些方面做点什么:
xyz |> printFactor
Run Code Online (Sandbox Code Playgroud)
仅打印真实值.
你可以这样做
let xyz() = [ (1,true); (2,false) ]
let printFactor (i,b) =
if b then
printfn "%A" i
xyz() |> List.iter printFactor
Run Code Online (Sandbox Code Playgroud)
但这可能是更惯用的,例如这个
xyz()
|> List.filter (fun (i,b) -> b)
|> List.iter (fun (i,b) -> printfn "%d" i)
Run Code Online (Sandbox Code Playgroud)
也就是说,首先过滤,然后打印.