随笔 - 355  文章 - 8 评论 - 512 trackbacks - 19

F#学习
F#小记——1. Hello F#
摘要: 简单的示例:首先我们来个传统函数式编程的hello world吧,一句话就可以了:printfn "hello world"这是典型的脚本语言的调用方式,当然,我们也可以试用传统的main函数的方式:[<EntryPoint>]let main (args : string[]) = printfn "hello world" // Program exit code 0注意:入口函数...阅读全文
posted @ 2010-07-05 23:14 天方 阅读(130) | 评论 (0) 编辑
F#牛刀小试
摘要: 这两天看了看F#,觉得还是非常容易上手的,顺手写了个一个非常简单的下载文件的程序。 open System.Netopen System.IOlet getStreamData (stream : Stream) = seq { let buffer = Array.zeroCreate(1500) let count = ref 0 while (count := stream.Read(b...阅读全文
posted @ 2010-03-28 18:05 天方 阅读(157) | 评论 (0) 编辑
F#基本类型——Class
摘要: F#的class赋予了F#面向对象的编程能力,也是F#连接.net中其它面向对象语言的桥梁。其基本形式如下: // Class definition:type [access-modifier] type-name [type-params]( parameter-list ) [ as identifier ] = [ class ] [ inherit base-type-name(base...阅读全文
posted @ 2010-01-24 19:51 天方 阅读(131) | 评论 (0) 编辑
F#基本类型——Structure
摘要: Structure是F#的基本类型之一,和C#中的struct对应,其语法结构如下: [ attributes ] type [accessibility-modifier] type-name = struct type-definition-elements end 一个简单的struct定义为 type Point3D = struct val x: float val y: float...阅读全文
posted @ 2010-01-24 18:17 天方 阅读(99) | 评论 (0) 编辑
F#基本类型——Discriminated Unions
摘要: 定义Discriminated Unions: Discriminated Unions是F#的一种特有的数据类型,其基本语法格式如下: type type-name = | case-identifier1 [of type1 [ * type2 ...] | case-identifier2 [of type3 [ * type4 ...] ... Discriminated Unions...阅读全文
posted @ 2010-01-24 16:24 天方 阅读(112) | 评论 (0) 编辑
F#基本类型——Records
摘要: Records是F#里用来表示简单数据的一种基本数据类型,当你想把数据组成一个结构化的格式,而不需要太复杂的语法时,你可以使用Record类型。 声明Records类型: Records的语法格式如下: [ attributes ] type [accessibility-modifier] typename = { [ mutable ] label1 : type1; [ mutable...阅读全文
posted @ 2010-01-24 14:52 天方 阅读(106) | 评论 (0) 编辑
F#中的Tuples、函数类型和参数柯里化
摘要: 柯里化、元组、函数类型、partial application等是函数编程的基础,但对那些传统的C类语法程序员来说是个新鲜的领域,本文主要参考http://blog.joycode.com/fscti/archive/2009/10/21/115745.joy的文章,简单的介绍了这一部分相关知识,如果要更加深入解这部分内容,请参看原文。 Tuples(元组)简介: Tuples(元组)作为一个基本...阅读全文
posted @ 2010-01-23 12:01 天方 阅读(188) | 评论 (0) 编辑