F#在线运行

版本:

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

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

记录



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

点击购买 固件广场

记录

记录类似于一个元组,但它包含命名字段。 例如,

type website =
   { title : string;
      url : string }

定义记录

一个记录被定义为使用type关键字类型,记录的字段被定义为一个分号分隔的列表。

语法定义一个记录

type recordName =
   { [ fieldName : dataType ] + }

创建记录

您可以通过指定记录的字段创建一个记录。例如,让我们创建一个网站记录中名为“homepage”

let homepage = { Title = "TutorialsPoint"; Url = "www.123.cn" }

下面的实例将解释其中的概念

例1

此程序定义一个名为website的记录类型。 然后它创建一些类型的website记录并打印记录。

(* defining a record type named website *)
type website =
   { Title : string;
      Url : string }

(* creating some records *)
let homepage = { Title = "TutorialsPoint"; Url = "www.123.cn" }
let cpage = { Title = "Learn C"; Url = "www.123.cn/cprogramming/index.htm" }
let fsharppage = { Title = "Learn F#"; Url = "www.123.cn/fsharp/index.htm" }
let csharppage = { Title = "Learn C#"; Url = "www.123.cn/csharp/index.htm" }

(*printing records *)
(printfn "Home Page: Title: %A 
   URL: %A") homepage.Title homepage.Url
(printfn "C Page: Title: %A 
   URL: %A") cpage.Title cpage.Url
(printfn "F# Page: Title: %A 
   URL: %A") fsharppage.Title fsharppage.Url
(printfn "C# Page: Title: %A 
   URL: %A") csharppage.Title csharppage.Url

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

Home Page: Title: "TutorialsPoint"
       URL: "www.123.cn"
C Page: Title: "Learn C"
      URL: "www.123.cn/cprogramming/index.htm"
F# Page: Title: "Learn F#"
      URL: "www.123.cn/fsharp/index.htm"
C# Page: Title: "Learn C#"
      URL: "www.123.cn/csharp/index.htm"

例2

type student =
   { Name : string;
      ID : int;
      RegistrationText : string;
      IsRegistered : bool }

let getStudent name id =
   { Name = name; ID = id; RegistrationText = null; IsRegistered = false }

let registerStudent st =
   { st with
      RegistrationText = "Registered";
      IsRegistered = true }

let printStudent msg st =
   printfn "%s: %A" msg st

let main() =
   let preRegisteredStudent = getStudent "Zara" 10
   let postRegisteredStudent = registerStudent preRegisteredStudent

   printStudent "Before Registration: " preRegisteredStudent
   printStudent "After Registration: " postRegisteredStudent

main()

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

Before Registration: : {Name = "Zara";
   ID = 10;
   RegistrationText = null;
   IsRegistered = false;}
After Registration: : {Name = "Zara";
   ID = 10;
   RegistrationText = "Registered";
   IsRegistered = true;}
由JSRUN为你提供的F#在线运行、在线编译工具
        JSRUN提供的F# 在线运行,F# 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout