Я исхожу из фона С# в F #. До сих пор я писал простые программы и проводил много времени в интерактивном режиме F #.
Я застрял в создании проекта VS F # с двумя файлами .fs.
Пример кода:
// 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, имеющий алгоритмы.
Взятые шаги:
Я создал два файла. Компилятор дал ошибку: Files in libraries or multiple-file applications must begin with a namespace or module declaration, e.g. 'namespace SomeNamespace.SubNamespace' or 'module SomeNamespace.SomeModule'
Я вставил module Program
и module Alg
. Выполненная программа выполняет только код из Alg.fs, полностью игнорирующий Program.fs...
Я использую F # 2.0 в Visual Studio 2010.
Постскриптум Я googled и проверил несколько сообщений и прочитал документацию по модулям и перед тем, как задать вопрос, просмотрите questions.