本文介绍了tee函数是否存在于F#库中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

...还是在FSharpx中?

...or in FSharpx?

let tee sideEffect =
    fun x ->
        do sideEffect x
        x

用法可能类似于

f >> tee (printfn "F returned: %A") >> g >> h

还是有另一种简单的方法可以做到这一点?

Or is there another simple way to do this?

谢谢!

推荐答案

ExtCore包括一个名为 tap 正是您想要的.我主要将其用于检查F#管道"(因此称为名称)中的中间值.

ExtCore includes a function called tap which does exactly what you want. I use it for primarily for inspecting intermediate values within an F# "pipeline" (hence the name).

例如:

[| 1;2;3 |]
|> Array.map (fun x -> x * 2)
|> tap (fun arr ->
    printfn "The mapped array values are: %A" arr)
|> doOtherStuffWithArray

这篇关于tee函数是否存在于F#库中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 02:27