相关疑难解决方法(0)

功能性镜片

有人可以向我解释功能性镜片吗?谷歌这是一个令人惊讶的困难主题,我没有取得任何进展.我所知道的是,它们提供了类似于OO的获取/设置功能.

haskell functional-programming lenses

78
推荐指数
2
解决办法
1万
查看次数

F#运算符"?"

我只是阅读了这个页面上的信息,而一个新的?提到运营商,我很不清楚它的用途是什么.
任何人都可以提供一个快速解释,发布一个代码剪切该如何使用该运算符,并可能提到一个用例?
编辑:这真的很尴尬,我注意到了吗?Don的发行说明中不再提及运算符.知道为什么会这样吗?

f# visual-studio-2010

15
推荐指数
1
解决办法
2537
查看次数

在F#API中,有类似Option.ofNull的东西吗?

我从F#中使用的许多API都允许使用空值.我喜欢把它们变成选项.有一个简单的内置方法来做到这一点?这是我这样做的一种方式:

type Option<'A> with
    static member ofNull (t:'T when 'T : equality) =
        if t = null then None else Some t
Run Code Online (Sandbox Code Playgroud)

然后我就可以这样使用Option.ofNull:

type XElement with
    member x.El n = x.Element (XName.Get n) |> Option.ofNull
Run Code Online (Sandbox Code Playgroud)

是否有内置的东西已经这样做了?

根据丹尼尔的回答,equality不需要.null可以使用约束来代替.

type Option<'A> with
    static member ofNull (t:'T when 'T : null) =
        if t = null then None else Some t
Run Code Online (Sandbox Code Playgroud)

f#

4
推荐指数
1
解决办法
367
查看次数