小编Pau*_*icz的帖子

管道,组合和卷曲

在我看来,所有这些都是相关的.有什么不同?

f# functional-programming

13
推荐指数
2
解决办法
5565
查看次数

F#中的mixin或trait

有没有办法在Ruby中实现mixin或在F#中实现Scala中的特性?

我想要的是基本上将一个模块复制到另一个模块,以便它共享其他模块功能但是关闭以进行修改.或者,一个OOP的思考方式,我想要多重继承,除了父对象不能被修改.

f# functional-programming

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

当字段名称是保留关键字时,从F#访问.Net字段

我有一个结构,有一个字段叫 type

我如何在F#中访问它?

C#

struct A {
   int type;
}
Run Code Online (Sandbox Code Playgroud)

F#

let a = A()
let myThing = a.type  //error because type is a reserved keyword
Run Code Online (Sandbox Code Playgroud)

我如何访问该type领域A

.net c# f#

8
推荐指数
2
解决办法
257
查看次数

与F#中的地图匹配的模式

鉴于地图:

let myMap = Map.ofArray [| (1,"A");(2,"B") |]
Run Code Online (Sandbox Code Playgroud)

有没有办法可以使用类似于列表合并运算符的模式匹配?

像这样的东西:

match myMap with      //doesn't work
    (1, value) -> ()
  | _          -> ()
Run Code Online (Sandbox Code Playgroud)

要么:

match myMap with      //doesn't work 
    1::value -> ()
  | _        -> ()
Run Code Online (Sandbox Code Playgroud)

我不想做的是这样的:

match myMap.TryFind(1) with      //boring
    Some value -> ()
  | _          -> ()
Run Code Online (Sandbox Code Playgroud)

如何与地图进行模式匹配?

f#

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

F#功能否定链

我想以一种很酷的方式否定函数的返回值.

鉴于此功能:

let yes = fun() -> true
Run Code Online (Sandbox Code Playgroud)

我想实施no作为否定的肯定

let no = not yes //doesn't work
Run Code Online (Sandbox Code Playgroud)

F#中是否存在任何类型的合成糖以使其成为可能?

PS我不是在找这个:

let no = fun() -> not yes() // boring
Run Code Online (Sandbox Code Playgroud)

f#

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

继承自Seq

我想创建自己的自定义集合类型.

我将我的收藏定义为:

type A(collection : seq<string>) =
   member this.Collection with get() = collection

   interface seq<string> with
      member this.GetEnumerator() = this.Collection.GetEnumerator()
Run Code Online (Sandbox Code Playgroud)

但这不编译 No implementation was given for 'Collections.IEnumerable.GetEnumerator()

我该怎么做呢?

f#

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

打印枚举时出现ToString异常

鉴于我有一个枚举:

type Cool = A = 'a'
          | B = 'b'
Run Code Online (Sandbox Code Playgroud)

我试着像这样打印它

printf "%A" Cool.A
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

ToString异常:传入的值必须是枚举基础或枚举的基础类型,例如Int32.参数名称:value

为什么会发生这种情况并且(如果可能的话)我如何在枚举级别修复此问题?

.net f#

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

终于总是被召唤?

可能重复:
在Java中,最终会返回特朗普吗?

这个函数返回什么?

public int wasExceptionThrown() {
   try {
     if(1==1)
        throw new RuntimeException();
     return 1;
   } catch(Exception e) {
     return 2;
   } finally {
     return 3;
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

java

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

取消承诺链?

我遵守一系列承诺:

this.getData.then(this.getMoreData).then(this.getEvenMoreData);
Run Code Online (Sandbox Code Playgroud)

在某个时候,用户可以决定取消请求并请求其他请求。

如何取消链条的传播?

javascript jquery

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

F#sprintf不会在交互式控制台中打印

我正在尝试使用F#交互式控制台打印一个int.

let x = sprintf "%d", 3
printf x
Run Code Online (Sandbox Code Playgroud)

得到:

stdin(12,8):错误FS0001:类型'(int - > string)*System.Numerics.BigIntege r'与'Printf.TextWriterFormat <'a>'类型不兼容

我究竟做错了什么?

f#

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

标签 统计

f# ×8

.net ×2

functional-programming ×2

c# ×1

java ×1

javascript ×1

jquery ×1