#在F#interactive(FSharpChart.fsx)中加载包

#在F#interactive(FSharpChart.fsx)中加载包,f#,load,packages,interactive,F#,Load,Packages,Interactive,嗨,我是个笨蛋,问这个新手问题,请原谅 我已在本地目录中成功安装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

嗨,我是个笨蛋,问这个新手问题,请原谅

我已在本地目录中成功安装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
其他信息:

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

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

我应该在下次安装该软件包吗?或者说是怎么解决的

谢谢

更新: 我不知道为什么,但显然,当我安装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#interactive中键入脚本

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;;
它确实起了作用

是的,F#Interactive独立于当前项目

使用:


如果需要引用特定文件夹的程序集,也可以使用
#I
指令。

调用的
FSharpChart.fsx
库有一个较新版本,因此首先,我建议改用这个较新的库(API非常类似,但F#Charting有许多改进)

F#图表的文档也有一个

通常,使用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"

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

在F#interactive if i type
Environment.CurrentDirectory我看到
valit:string=“C:\Users\Fagui\AppData\Local\Temp”
。然后,键入您的行会给我以下
>stdin(4,1):错误FS0078:在任何C:\Users\Fagui\AppData\Local\Temp
@Fagui.fsx中找不到文件“C:\Users\Fagui\Documents\GitHub\Learning Fsharp\Expert in F\packagesfsharpcart.fsx”,请参阅更新。感谢您的回答并告诉我有关新图书馆的信息。目前,与其尝试使用这个软件包,不如在F中复制book Expert的代码。我仍然无法在F#中加载库,我不知道如何设置正确的路径
// 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"