小编Kur*_*ren的帖子

如何使非法价值无法代表?

功能编程中的一种设计方法是使非法国家无法代表.我总是看到这是通过类型的结构来完成的,但类型的价值呢?

如果我有一个名为Email的字符串怎么办?我只希望它保留一个有效的电子邮件地址(针对某些正则表达式进行检查)?如何以功能方式(不使用OOP)执行此操作?

f# haskell functional-programming

22
推荐指数
4
解决办法
2258
查看次数

将F#类型保存到数据库

一个很多 F#的文章推荐使用内建类型fsharp的如识别联合,元组和记录的域模型.一旦我们有了这个模型,它如何被持久化到数据库?

实体框架和类型提供程序仅适用于具有可变属性的标准类.

f# domain-driven-design entity-framework

5
推荐指数
1
解决办法
995
查看次数

映射json输入但不输出Suave

Suave.Json.mapJson 将输入JSON映射到函数中的对象,然后将函数的输出映射到JSON.

问题是我对它映射到我的函数的方式很满意,但是我需要返回一个json字符串响应,而不是让我将输出序列化为JSON.我怎样才能做到这一点?

目前我的输出序列化了两次.我的代码到目前为止:

let executeQuery : Query -> string = //Query is my deserialised json input, the return value is a json string
let app = POST >=> path "/graphql" >=> Json.mapJson executeQuery >=> setMimeType "application/json; charset=utf-8"
startWebServer defaultConfig app
Run Code Online (Sandbox Code Playgroud)

f# suave

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

液体过滤器集合不为空

对于某些页面(并非所有页面),我的前提是:

---
top-navigation:
    order: 2
---
Run Code Online (Sandbox Code Playgroud)

使用液体我想过滤所有具有top-navigation对象和排序的网站页面top-navigation.order.

我正在尝试,sort:'top-navigation.order'但这是一个例外undefined method [] for nil:NilClass.我试过,where:"top-navigation", true但它不等于真正的价值观.

如何过滤包含top-navigation然后排序的页面?

liquid jekyll yaml-front-matter

3
推荐指数
2
解决办法
738
查看次数

如何在计算表达式中传递/设置 byref 参数?

此 F# 代码无法编译:

let DoubleString (str : string) = str + str

let ExampleSetString (str : string byref) = 
    async {
        str <- DoubleString str
        return 1
    }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息str <- DoubleString str

byref 类型变量“str”的使用方式无效。Byref 不能被闭包捕获或传递给内部函数

我必须采用 byref 变量,将其传递到计算表达式中的一些纯函数中,然后设置此 byref 变量的值。我怎样才能做到这一点?

f# pass-by-reference computation-expression

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