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

2024-01-29

你好,我是一个菜鸟,问这个新手问题,请原谅我。

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

...
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

现在,如果我这样做

#load "FSharpChart.fsx";;
  ^^^^^^^^^^^^^^^^^^^^^^^

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

additional info: directory

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

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

我应该再次安装该软件包吗?或者有什么解决方法吗?

thanks

UPDATE:我不知道为什么,但显然当我安装 FSharpChart 包时,我只得到了 dll,没有 fsx 文件 我设法加载它

#I @"C:\Users\Fagui\Documents\GitHub\Learning Fsharp\Expert in F"
#r @"packages\MSDN.FSharpChart.dll.0.60\lib\MSDN.FSharpChart.dll";;

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

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;;

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

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 Petricek 指出的更新的库。

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

let rnd = System.Random()
let rand() = rnd.NextDouble()
let randomPoints = [for i in 0 .. 1000 -> 10.0 * rand(), 10.0 * rand()]
randomPoints |> Chart.Point;;

它确实起作用了


有一个较新版本FSharpChart.fsx名为的库F# 图表 http://fslab.org/FSharp.Charting/ReferencingTheLibrary.html,所以首先,我建议使用这个较新的库(API 非常相似,但 F# Charting 有许多改进)。

F# Charting 的文档还有有关引用库的详细页面 http://fslab.org/FSharp.Charting/ReferencingTheLibrary.html.

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

// 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"

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

#在 F# 交互式中加载包 (FSharpChart.fsx) 的相关文章

随机推荐