F#在线运行

版本:

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

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

结构



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

点击购买 固件广场

结构

F#中的结构是值类型数据类型。 它帮助您制作单个变量,保存各种数据类型的相关数据。 struct关键字用于创建结构。

语法

语法用于定义结构如下

[ attributes ]
type [accessibility-modifier] type-name =
   struct
      type-definition-elements
   end
// or
[ attributes ]
[<StructAttribute>]
type [accessibility-modifier] type-name =
   type-definition-elements

有两种语法。 主要使用第一种语法,因为,如果使用struct和end关键字,则可以省略StructAttribute属性。
结构定义元素提供 :
1、成员声明和定义。
2、构造函数和可变和不可变字段。
3、函数和接口实现。
与类不同,结构不能被继承,并且不能包含let或do绑定。 因为,结构没有绑定; 您必须使用val关键字声明结构中的字段。
当使用val关键字定义字段及其类型时,无法初始化字段值,而是将其初始化为零或null。 因此,对于具有隐式构造函数的结构,val声明使用DefaultValue属性注释。

以下程序与构造函数一起创建线结构。 程序使用结构计算线的长度

type Line = struct
   val X1 : float
   val Y1 : float
   val X2 : float
   val Y2 : float

   new (x1, y1, x2, y2) =
      {X1 = x1; Y1 = y1; X2 = x2; Y2 = y2;}
end
let calcLength(a : Line)=
   let sqr a = a * a
   sqrt(sqr(a.X1 - a.X2) + sqr(a.Y1 - a.Y2) )

let aLine = new Line(1.0, 1.0, 4.0, 5.0)
let length = calcLength aLine
printfn "Length of the Line: %g " length

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

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