在Fsharp中实现签名
签名:MyLibrary.fsi
namespace myLib
module public MyModule1 =
val addition : p:float -> float
实现:MyLibrary.fs
namespace myLib
module public MyModule1 =
let addition p = p*2.0
测试
#load "C:\@@@@@\Projects\MyLibrary.fsi"
#load "C:\@@@@@\Projects\MyLibrary.fs"
open myLib.MyModule1
错误:
C:\@@@@@\Projects\MyLibrary.fsi(1,1): error FS0240: The signature file 'FSI_0015_MyLibrary' does not have a corresponding implementation file. If an implementation file exists then check the 'module' and 'namespace' declarations in the signature and implementation files match.
@@@@@ 相当于我的完整路径
最佳答案
希望我已经明白你在追求什么。如果您还需要其他东西,请告诉我?
module public MyModule =
type IMyModule1 =
abstract member addition : double -> double
type MyModule =
interface IMyModule1 with
member this.addition p = p*2.0
关于f# - FSharp 中的签名实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27313670/