首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在F# 4.1中使用向量

如何在F# 4.1中使用向量
EN

Stack Overflow用户
提问于 2017-07-22 14:40:13
回答 2查看 1.3K关注 0票数 1
代码语言:javascript
复制
#r "FSharp.PowerPack.dll"

let c = vector [ 5.0; 8.0 ];

我犯了很多错误:

  • 严重性代码描述项目文件行抑制状态错误FS0076 #r指令只能出现在F#脚本文件中(扩展名为.fsx或.fsscript)。要么将此代码移动到脚本文件,要么用'-r‘编译器选项替换此引用。如果该指令是作为用户输入执行的,则可以用'#if交互式‘/’#endif‘分隔它。实践c:\users\ai用于机器人\documents\visual studio 2017\Projects\Practive\Practive\Program.fs 1 Active
  • 严重程度代码描述项目文件行抑制状态错误FS0039值或构造函数‘向量’未定义。实践c:\users\ai用于机器人\documents\visual studio 2017\Projects\Practive\Practive\Program.fs 9 Active
EN

回答 2

Stack Overflow用户

发布于 2017-07-22 15:19:38

#r命令用于.fsx文件,您位于.fs文件中。如果要创建一个具有fsx扩展名的新文件,那么上面的内容就可以了。但是,您需要一个通向FSharp.PowerPack.dll的路径,下面的代码可以在我的机器上运行

代码语言:javascript
复制
#r """C:\Users\josep\exercism\fsharp\hello-world\packages\FSPowerPack.Core.Community.2.0.0.0\lib\Net40\FSharp.PowerPack.dll"""

let c = vector [ 5.0; 8.0 ];

但是由于您使用的是.fs,我认为解决您面临的问题的一个更简单的方法是删除#r行,只需转到nuget并安装包FsPowerPack.Community。

那么你的代码就能正常工作了。

票数 1
EN

Stack Overflow用户

发布于 2017-07-23 02:27:21

好吧,我喜欢我的回答,这对初学者来说很简单。-它使用的是ResizeArray -这是我的问题的一个例子:

代码语言:javascript
复制
 let vector = ResizeArray<float>()
 vector.Add(1.0)
 vector.Add(2.0)
 printfn "CONTENTS"
 vector |> Seq.iter (fun x -> printfn "%f" x)
 // add range
 vector.AddRange([3.0;4.0;5.0])
 printfn "CONTENTS"
 vector |> Seq.iter (fun x -> printfn "%f" x)
 // remove
 vector.RemoveAt(2)
 printfn "CONTENTS"
 vector |> Seq.iter (fun x -> printfn "%f" x)
 // insert
 vector.Insert(0,42.)
 printfn "CONTENTS"
 vector |> Seq.iter (fun x -> printfn "%f" x)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45255740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档