Tag: f#

是否有相当于C#中的F#Seq.windowed?

我正在研究一些处理移动平均线等问题的C#代码,我经常需要使用List / IEnumerable并处理连续数据块。 F#Seq模块具有很好的function,窗口化,它接收序列,返回一系列连续元素的块。 C#是否具有与LINQ开箱即用的等效function?

集成C#,F#,IronPython和IronRuby

我被告知,由C#和F#源组成的汇编文件可以互操作,因为它们被编译成.NET程序集。 Q1:这是否意味着C#可以调用F#函数就像它们是C#函数一样? Q2:IronPython和IronRuby怎么样? 我没有看到IronPython / IronRuby中的任何程序集dll。 问题3:有没有简单的方法可以使用C#或F#中的IronPython / IronRuby函数? 任何示例代码都会很棒。

将一些C#通用代码重写为F#

我正在尝试重写这样的通用代码(C#): U Upcast(T x) where T : U { return x; } 在F#中: let ucast ‘U> (x: ‘T) = x :> ‘U 但是F#约束求解的工作方式与C#不同,编译器会输出一堆输入错误: 错误FS0698:无效约束:用于约束的类型是密封的,这意味着约束只能通过最多一个解决方案来满足 警告FS0064:此构造导致代码不像类型注释所指示的那样通用。 类型变量’T已被约束为类型”U’。 错误FS0663:此类型参数的使用方式将其限制为始终为“U” 错误FS0013:从“U”到“U”类型的静态强制 涉及基于此程序点之前的信息的不确定类型。 某些类型不允许静态强制。 需要进一步的类型注释。 错误FS0661:此绑定的一个或多个显式类或函数类型变量无法一般化,因为它们被约束为其他类型 请解释一下如何正确地重写上面的C#代码以及为什么我写的F#版本没有编译。

在F#项目中使用C#库?

我对F#很新鲜,但我真的想学习它。 我认识Python,我知道C#。 事实上,我有一个我自己制作的C#库; 它是Rdio API(我将其命名为RdioSharp)的包装器,我可以成功地将其引入另一个C#项目并调用它,使用它,获取数据……它可以工作。 我想开始在F#项目中使用这个C#库,但它无法正常工作。 这里简要介绍一下C#代码的样子。 namespace RdioSharp { public class RdioManager { public RdioManager() { } } } 我已经在我的FSharpTest项目中添加了对DLL的引用,我已经提取了一个.fsx文件,我已经尝试了以下,每行下面(再次,请记住,我真的不知道我是什么’我在做)。 open RdioSharp open RdioSharp.dll #r “RdioSharp.dll” #r “C:\Path\To\Library\RdioSharp.dll” 我无法想象这一个。 我知道如何使用系统F#库,但是如何在F#中引用C#库? 可能吗? 这还有足够的信息吗? 我已经看到了这个和这个 (这更接近我的问题)但是那些人都比我更了解F#,他们远远超出了我的问题。 在交互式窗口中,在#r “RdioSharp.dll”;;打孔时#r “RdioSharp.dll”;; ,我得到了这个可爱的错误。 error FS0084: Assembly reference ‘RdioSharp.dll’ was not found or is invalid

.NET // vs ///评论约定

我只是查看F#,如果这是一个愚蠢的问题,请道歉,但在VS2008 F#CTP 1.9.6.2’教程’项目中,//和///都用于评论代码。 两个斜杠与三个斜杠注释之间是否存在function差异,或者是否使用///对函数进行注释(并显示在教程代码中)并使用//用于其他所有内容?

图像分析 – 光纤识别

我是图像分析的新手。 你是否知道如何以这种方式将这种图像二值化以获得光纤? 我尝试了不同的门限技术等,但我没有成功。 我不介意我应该使用什么工具,但我更喜欢.NET或Matlab 。 PS:我不知道在哪里提出答案,所以我把它放在StackOverflow上。

我们可以从c#访问F#复制和更新function吗?

例如在F#中我们可以定义 type MyRecord = { X: int; Y: int; Z: int } let myRecord1 = { X = 1; Y = 2; Z = 3; } 并且我可以做更新 let myRecord2 = { myRecord1 with Y = 100; Z = 2 } 这很棒,而且记录自动实现IStructuralEquality而不需要额外的努力这一事实让我希望在C#中实现这一点。 但是,也许我可以在F#中定义我的记录,但仍然可以在C#中执行一些更新。 我想像一个API MyRecord myRecord2 = myRecord .CopyAndUpdate(p=>pY, 10) .CopyAndUpdate(p=>pZ, 2) 有没有办法,我不介意脏黑客,如上所述实施CopyAndUpdate? CopyAndUpdate的C#签名将是 T CopyAndUpdate […]

F#(或C#)中的任何R-Tree实现?

可能重复: 是否有任何记录的.NET免费R-Tree实现? F#中是否有任何R-Tree实现? 假设是:不需要插入或删除,固定的Geo-Fences(区域)集合。 需求是:搜索时间非常快。 谢谢

在调试c#时,Visual Studio 2012中是否有一种方法可以使用F#REPL?

如果我在ac#程序中有断点,我很乐意使用F#REPL来检查我的代码。 这有可能吗?

设计一个可以从F#中使用的C#库的指南

我只是想指出,这个问题不是相反的 设计F#库以供F#和C#使用的最佳方法 在这里,我不是要问如何设计一个用于两个世界的C#函数库。 我想知道什么样的设计选择包含或避免得到合理的折衷方案以使这个库可以从F#中使用的 良好实践 。 像(例如)的做法: 保持对象层次结构尽可能简单 避免改变对象的状态,但返回新的对象 等等… 任何已经完成它的人都可以分享它的经验吗? 边注 有趣的是,这个OSS项目IronJS 。 是的,它是用F#编写的,但是作者公开了两个专门的主机IronJS.Hosting.FSharp和IronJS.Hosting.CSharp 。