只是试图构建一个 F# 库。到目前为止,它“似乎”是:
我只能从 .fs 源文件中引用 C# 库,
和 .fs 源文件不可用于 .fsx 脚本文件。
这些陈述中的任何一个是正确的吗?我读过的例子说只是使用了一个开放的,但这只适用于 .fs 文件。
有没有版本
#r "System.Drawing.dll"
Run Code Online (Sandbox Code Playgroud)
对于在同一项目中通过 f# Interactive (fsi) 使用的脚本文件?
另外,我发现顶级模块和低级模块之间的语法差异有点奇怪。顶我很奇怪,顶级没有等号。
module Utilities
module et =
Run Code Online (Sandbox Code Playgroud)
为什么不保持一致并为所有内容设置“module moduleName =”?
请务必注意,F# 中 Visual Studio 中的“参考”仅适用于当前项目。如果您正在处理脚本文件,则它看不到项目引用的库。
要在脚本文件(例如Script.fsx)中引用库,您可以编写(您可以使用绝对路径和相对路径):
#r @"C:\<path_to_library>\library.dll"
Run Code Online (Sandbox Code Playgroud)
如果Library.fs要从脚本文件加载不是脚本的文件(例如),可以使用:
#load "Library.fs"
Run Code Online (Sandbox Code Playgroud)
该fs文件本身不能包含像指令#r,因此,如果该文件是使用一些库需要被引用,你需要有一个#r主脚本文件指令(加载源文件之前引用该库)。
至于模块不一致,主要原因是在使用module Foo或namespace Foo在顶层时,不需要对文件的其余部分进行缩进:
module Foo
let bar = 10
module Sub =
let bar = 12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2124 次 |
| 最近记录: |