F#和#x27;s";“你好,世界”;使用2个fs文件
我从C到F。到目前为止,我写了一些简单的程序,花了很多时间在F#interactive上 我一直在用两个.fs文件创建一个VS F#项目 示例代码:F#和#x27;s";“你好,世界”;使用2个fs文件,f#,F#,我从C到F。到目前为止,我写了一些简单的程序,花了很多时间在F#interactive上 我一直在用两个.fs文件创建一个VS F#项目 示例代码: // part 1: functions let rec gcd (a : uint64) (b : uint64) = if b = 0UL then a else gcd b (a % b) // part 2: main() let a, b = (13UL, 15UL) do printfn "gcd of %d %d =
// part 1: functions
let rec gcd (a : uint64) (b : uint64) =
if b = 0UL then a
else gcd b (a % b)
// part 2: main()
let a, b = (13UL, 15UL)
do printfn "gcd of %d %d = %d" a b (gcd a b)
我希望有两个.fs文件,即Alg.fs和Program.fs,这样Program.fs将包含我正在处理的代码,而Alg.fs包含算法
采取的步骤:我已经创建了这两个文件。编译器出现错误:
库或多个文件应用程序中的文件必须以命名空间或模块声明开头,例如“namespace SomeNamespace.SubNamespace”或“module SomeNamespace.SomeModule”
我插入了模块程序
和模块Alg
。编译的程序只执行Alg.fs中的代码,完全忽略program.fs
我正在Visual Studio 2010中使用F#2.0。顺便说一句,在询问之前,我已经在谷歌上搜索并检查了一下,阅读了相关文档并查看了相关信息。
听起来这是项目问题中的文件顺序。最后一个文件是入口点(“main方法”),听起来像是Alg.fs last,需要Program.fs last。您可以通过VS解决方案资源管理器中的右键单击上下文菜单对其进行重新排序。
此处至少需要查看三个单独的内容:Alg.fs
位于Program.fs
之前(尝试以下操作:选择Program.fs
并点击Alt+向下箭头
,直到它位于底部)Alg.fs
和Program.fs
现在位于模块中,因此您需要在Program
中实际打开Alg
模块以访问其绑定(open Alg
),或者在Alg
上添加属性Program.fs是项目中的最后一个文件吗?如果没有,你会想阅读。事实上,事物在使用之前必须声明,这可能是习惯于语言(如C#)的人的一个更大的绊脚石,在这种语言中,事物可以被向前声明。