Questions tagged «f#»

F#是.NET的简洁,表达性强,高效的功能和面向对象的语言,可帮助您编写简单的代码来解决复杂的问题。

2
为什么F#Core定义通用数组类型?
我刚刚注意到FSharp.Core命名空间包括最多4维的通用数组类型,即Core。[] <'T>,Core。[,] <'T>等。C#和VB看起来做的很好使用System.Array-尽管我不清楚它们如何支持强类型的专用数组类型,例如int [],string []。 我想这将成为两个问题: C#如何基于非泛型System.Array支持强类型的专用数组类型,如int []? 鉴于C#可以做到这一点,为什么F#定义通用数组类型?
11 c#  .net  f# 

1
我如何在没有C#知识的情况下进行认真的F#项目?
因此,基本上我希望承担的项目是SVG编辑器。我更喜欢使用WPF,因为这样我就可以在应用程序布局中使用XAML(那个设计师是如此漂亮)。不幸的是,我仅使用.NET框架仅几个月,而对大多数类名仍然不熟悉。 目标是使用F#,因为它是一种功能编程语言,并且F#的递归和与元组结合的出色列表操作将很好地实现我想要实现的目标。而目标是使用.NET,因为它拥有大量可用的和有文档的示例类库。 我已经看过这个问题了。/software/3129/is-there-a-canonical-book-on-f 但答案仅适用于F#,并假定您已经知道C#,这对我来说并不是特别有用。 回答上述问题的顶级书籍是《 Real-World Functional Programming:F#和C#中的示例》。但是,这本书上的三星级亚马逊评论虽然相当苛刻,甚至可能被夸张地正确说明了我的问题。 如果您对函数式编程感兴趣,但是您不是想学习F#的C#,则可以安全地跳过这本书。 我在网上查看了WPF F#示例,到处都有各种代码片段,但是没有实质性的内容或证明它在单个文件脚本.fsx之外使用,也没有真正的企业级甚至专业级的代码。 因此,即使Microsoft确实也没有很多关于如何在F#中执行.NET的示例。我发现的示例通常仅是F#特有的功能。看一下F#的基础和高级部分,您会发现它们仅教语法。例如,Line类在WPF上的MSDN上在F#中没有任何代码示例。 向下滚动F#的代码示例选项卡时,它只是说 No code example is currently available or this language may not be supported. 由于可用的代码示例很少,因此我很难进行这个项目。 我的问题 是对我不太了解C#时应如何使用F#处理该项目的帮助,我们将不胜感激。
11 wpf  f# 

4
使用“混合”语言进行设计:面向对象的设计还是功能编程?
在过去的几年中,我喜欢使用的语言变得越来越“实用”。我现在使用的是一种“混合”语言:C#,F#,Scala。我喜欢使用与域对象相对应的类来设计我的应用程序,并使用使编码更容易,更简洁和更安全的功能功能(尤其是对集合进行操作或传递函数时)。 但是,当涉及到设计模式时,这两个世界会“冲突”。我最近遇到的特定示例是观察者模式。我希望生产者在创建或更改项目时通知其他一些代码(“消费者/观察员”,例如数据库存储,记录器等)。 我最初是这样“功能性地”完成的: producer.foo(item => { updateItemInDb(item); insertLog(item) }) // calls the function passed as argument as an item is processed 但是我现在想知道是否应该使用更多的“ OO”方法: interface IItemObserver { onNotify(Item) } class DBObserver : IItemObserver ... class LogObserver: IItemObserver ... producer.addObserver(new DBObserver) producer.addObserver(new LogObserver) producer.foo() //calls observer in a loop 两种方法的优缺点是什么?我曾经听过一位FP专家说,那里的设计模式仅是由于语言的局限性,这就是为什么功能语言很少的原因。也许这可能是一个例子? 编辑:在我的特定情况下,我不需要它,但是..您将如何以功能方式实现“观察者”的删除和添加?(即,您将如何实现模式中的所有功能?)例如,仅传递一个新函数?

7
函数式编程的论点
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我最近一直在有趣地学习F#(我是VB.NET/C#开发人员),我真的很喜欢它提供的一些功能。从理论上讲是这样。但是我想不出要选择使用F#而不是C#进行编码的方案。有任何想法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.