F#在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
函数式 赛车模拟 (自由格式) 发布于:2021-02-02 10:52 转换OCaml对象模式 发布于:2021-02-01 00:46 [更多]
显示目录

模块



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

模块

根据MSDN库,F#模块是F#代码结构的分组,例如类型,值,函数值和do绑定中的代码。 它被实现为只有静态成员的公共语言运行时(CLR)类。
根据整个文件是否包含在模块中的情况,有两种类型的模块声明:

  • 1、顶层模块声明
  • 2、本地模块声明

在顶层模块声明中,整个文件包含在模块中。 在这种情况下,文件中的第一个声明是模块声明。 您不必在顶层模块中缩进声明。

在本地模块声明中,只有在该模块声明下缩进的声明是模块的一部分。

语法

模块声明的语法如下

// Top-level module declaration.
module [accessibility-modifier] [qualified-namespace.]module-name
   declarations
// Local module declaration.
module [accessibility-modifier] module-name =
   declarations

请注意,可访问修饰符可以是下列之一:公共,私有或内部的。默认为公开

下面的实例将展示其中的概念

例1

该模块文件Arithmetic.fs

module Arithmetic
let add x y =
   x + y

let sub x y =
   x - y

let mult x y =
   x * y

let div x y =
   x / y

程序文件main.fs

// Fully qualify the function name.
open Arithmetic
let addRes = Arithmetic.add 25 9
let subRes = Arithmetic.sub 25 9
let multRes = Arithmetic.mult 25 9
let divRes = Arithmetic.div 25 9

printfn "%d" addRes
printfn "%d" subRes
printfn "%d" multRes
printfn "%d" divRes

当你编译和执行程序,它产生以下输出

34
16
225
2
110
90
1000
10

例2

// Module1
module module1 =
   // Indent all program elements within modules that are 
   declared with an equal sign.
   let value1 = 100
   let module1Function x =
      x + value1

// Module2
module module2 =
   let value2 = 200

   // Use a qualified name to access the function.
   // from module1.
   let module2Function x =
      x + (module1.module1Function value2)

let result = module1.module1Function 25
printfn "%d" result

let result2 = module2.module2Function 25
printfn "%d" result2

当你编译和执行程序,它产生以下输出

125
325
由JSRUN为你提供的F#在线运行、在线编译工具
        JSRUN提供的F# 在线运行,F# 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout