首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#在F#交互式(FSharpChart.fsx)中加载包

#在F#交互式(FSharpChart.fsx)中加载包
EN

Stack Overflow用户
提问于 2015-12-27 16:40:31
回答 2查看 1.4K关注 0票数 3

嗨,我是菜鸟,问这个新手的问题,请原谅我。

我已经成功地在本地目录中安装了FSharpChart

代码语言:javascript
复制
...
Added package 'MSDN.FSharpChart.dll.0.60.0' to folder 'C:\Users\Fagui\Documents\GitHub\Learning Fsharp\Expert in F\packages'
Added package 'MSDN.FSharpChart.dll.0.60.0' to 'packages.config'
Successfully installed 'MSDN.FSharpChart.dll 0.60.0' to Expert in F

现在,如果我知道

代码语言:javascript
复制
#load "FSharpChart.fsx";;
  ^^^^^^^^^^^^^^^^^^^^^^^

stdin(4,1): error FS0078: Unable to find the file 'FSharpChart.fsx' in any of
 C:\Users\Fagui\AppData\Local\Temp

更多信息:

在这个文件夹中,我看到一个nupkg文件,在lib目录中有一个lib目录,有一个dll和一个pdf文件,但是我没有看到任何.fsx文件。

基本上,F#已经在当前项目的活动文件夹中安装了包,而F#interactive在另一个文件夹中??有点奇怪?

我应该重新安装这个软件包吗?或者绕它的路是什么?

谢谢

更新:我不知道为什么,但是很明显,当我安装FSharpChart包时,我只得到了dll,没有fsx文件,我成功地加载了它。

代码语言:javascript
复制
#I @"C:\Users\Fagui\Documents\GitHub\Learning Fsharp\Expert in F"
#r @"packages\MSDN.FSharpChart.dll.0.60\lib\MSDN.FSharpChart.dll";;

不幸的是,在F#交互式中输入脚本

代码语言:javascript
复制
open MSDN.FSharp.Charting
let rnd = System.Random()
let rand() = rnd.NextDouble()
let randomPoints = [for i in 0 .. 1000 -> 10.0 * rand(), 10.0 * rand()]
randomPoints |> FSharpChart.Point;;

不会产生任何图表,但只会返回一个列表

代码语言:javascript
复制
val rnd : Random
val rand : unit -> float
val randomPoints : (float * float) list =
  [(9.765916457, 2.272289941); (0.8211438594, 1.625466995);
   ...
   (7.783786034, 7.572208311); (6.497914692, 3.66987128); ...]
val it : ChartTypes.PointChart

这可能是因为这个库不再受支持,我应该使用一个新的库,就像Thomas指出的那样。

所以,我确实设法安装了FSharp.Charting

代码语言:javascript
复制
let rnd = System.Random()
let rand() = rnd.NextDouble()
let randomPoints = [for i in 0 .. 1000 -> 10.0 * rand(), 10.0 * rand()]
randomPoints |> Chart.Point;;

它确实起了作用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-27 20:09:49

FSharpChart.fsx库有一个较新的版本,称为F#制图,因此首先,我建议使用这个较新的库( API非常类似,但是F#图表有很多改进)。

F#图表的文档也有一个有关参考图书馆的详细网页

通常,当使用NuGet引用库时,需要指定相对引用:

代码语言:javascript
复制
// On Mac OSX use packages/FSharp.Charting.Gtk.0.90.13/FSharp.Charting.Gtk.fsx
#load "packages/FSharp.Charting.0.90.13/FSharp.Charting.fsx"

0.90.13是从NuGet获得的库的版本(您可能需要检查文件夹名-- #load中的路径引用相对于脚本所在的位置)。

票数 3
EN

Stack Overflow用户

发布于 2015-12-27 16:44:58

是的,F#互动是独立于当前项目的。

使用:

代码语言:javascript
复制
#load @"C:\Users\Fagui\Documents\GitHub\Learning Fsharp\Expert in F\packages\FSharpChart.fsx";;

如果需要引用特定文件夹见参考资料的程序集,也可以使用见参考资料指令。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34482491

复制
相关文章

相似问题

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