#100天计划# 2013年10月24日
这些天感觉很困很累,远离了主,也没有能够坚持这100天的计划,但我想不能因为这十几天而荒废掉这个计划,我无时无刻不需要主的指引。
No. 1 每天读圣经 Revelations 15
今天学习了一些函数式编程的知识和ML语言的特性,熟悉了Emacs的另外一些快捷键。
(1)Option; ML 语言有一种特殊的类型 option,它可以取两种值,一种是 SOME 类型,一种是 NONE 类型。这种变量可以在返回空值的时候用上,程序会更有意义。
(2)Let 语句;还没有得到确定的表述,但我觉得函数式编程应该是不能定义 local variable 的,所以需要用到 let...in...end 语句来定义 local variable.
(3)Immutable;不能改变值的语言也会有优势。与Java等语言不同,在使用变量的时候不需要去考虑这是 copy 还是 reference,只需要关注程序本身的实现就行了。Java 中的安全机制由于成员变量可以通过 reference 来改变受到威胁。比如 public 方法变量返回了一个 private variable,然后通过改变这个返回值就可以改变 private variable。因此 Java 需要考虑到安全需求,经常要使用 copy。
(4)递归;在完成第一周作业的时候深切地感受到确实 while 和 for 能够实现的功能递归也能够实现。写递归的时候也会有效率问题,有时候需要用 let 语句将递归的结果存储起来,避免进行多次递归的调用。
(5)push to github check.
Emacs:
C + M + \ : indent region 的快捷键终于找到了
C + x + O : 切换活动屏
C + c C + c : kill an infinite loop
M + p : 上一条命令
C + c C + x : quit
另外还有一些 Windows 和 Chrome 的快捷键:
M + Tab : 切换活动程序
C + t : 创建新的标签页
C + n : 创建新的窗口
C + 1 到 C + 8 :切换到指定位置编号的标签页。
C + 9 : 切换到最后一个标签页
C + w 或 C + F4: 关闭当前标签页或弹出式窗口
M + F4: 关闭当前窗口
C + Tab 或 C + PgDn: 切换到下一个标签页
C + Shift + Tab 或 C + PgUp: 切换到上一个标签页