摘要: 最近算法课要求实现哈夫曼编码,由于前面的问题都是使用了F#来解决,偶然换成C#也十分古怪,报告也不好看,风格差太多。一开始是打算把C#版本的哈夫曼编码换用F#来写,结果写到一半就觉得日了狗了。。。毕竟FP水平图样,到处mutable,各种`, frequencies : seq) = ... 阅读全文
posted @ 2015-06-20 01:13 Johnwii 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序: let rec bsort_asc s = let rec _bsort_asc = function |x1::x2::xs when x1 > x2 -> match _bsort_asc (x1::xs) wi... 阅读全文
posted @ 2015-06-18 19:18 Johnwii 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 最近一直在做学校的一个小项目,前期在没有服务器端的情况下意淫做出来了手机客户端。在寒假里使用ASP.NET快速做了一个网站并且设计好了需要使用其他内容,在Windows Azure上测试评估,为学校的项目中期做检查做准备,后期估计也打算使用Azure来部署。使用Windows Azure的网站服务和... 阅读全文
posted @ 2015-06-18 19:16 Johnwii 阅读(535) 评论(0) 推荐(0) 编辑
摘要: [前面][1]说到了C#的泛型委托和闭包函数,在函数是程序设计里还有一个重要特征是柯里化...柯里化就是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。用F#来举个例子: > let sum x y = x + y;; ... 阅读全文
posted @ 2015-06-18 19:15 Johnwii 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: 前些天Wendy问我说`Func`是个什么意思,初学C#都觉得这样的写法很奇葩,甚至觉得这样写有点诡异,其实以我来看,这是体现C#函数式编程的又一个亮点。从[MSDN][1]上我们可以找到这个所谓的泛型委托的解释。委托是C#较之于Java多出来的概念之一,C# 1.0的委托大体上看来就是一个函数指针... 阅读全文
posted @ 2015-06-18 19:14 Johnwii 阅读(937) 评论(0) 推荐(0) 编辑
摘要: Ruby 2.0有一个新的特性是惰性枚举器,[Soi Mort 的博客][1]举了一个例子:可以将下面的代码 File.open(path) {|fp| fp.each_line. \ select {|line| # 生成了临时数组 /regexp/... 阅读全文
posted @ 2015-05-19 00:19 Johnwii 阅读(402) 评论(0) 推荐(0) 编辑
摘要: ##Struct的默认构造函数## struct Complex { public Int32 Re { get; set; } public Int32 Im { get; set; } public Complex() { Re = 0... 阅读全文
posted @ 2015-05-19 00:18 Johnwii 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 编译器将C#/F#/VB.net源代码和资源文件打包为程序集。程序集内包含托管的模块和资源文件。托管的模块中PE32/PE32+头文件记载了与本机CPU代码有关的信息。如果为纯IL代码的模块,PE32/PE32+通常被忽略。CLR头通常记录了CLR版本、Main方法的信息以及模块的信息和一些数据,我... 阅读全文
posted @ 2015-03-25 21:14 Johnwii 阅读(656) 评论(2) 推荐(0) 编辑