Web Analytics

C程序员驯服Common Lisp – 函数

Common Lisp是函数式编程语言,其基本组成单元自然是函数。对Common Lisp函数的理解也是学习Common Lisp语言的关键。另外与C语言以内存单元修改为主要编程方法不同,Common Lisp的主要编程方法是将函数应用于参数。这里我们分别用两种范式风格实现同一个函数,该函数用于取得第n个fibonacci数(n从0开始): ;; 命令式风格 (defun imperative-f...

September 23, 2011 · 11 min · Tony Bai

C程序员驯服Common Lisp – 变量

变量是C语言中最常用的、不可或缺的语言元素。C语言是命令式编程语言(imperative programming language),其基本编程方法是基于对内存单元的修改,而变量又恰是对内存单元的抽象表示,比如:"int a = 0xff"这行语句告诉我们在内存中有一块大小为4个字节的区域,该区域可以通过a这个变量直接访问,该区域初始时存储的值为0xff。由此看来C语言的主要操作就是变量操作。 C...

September 20, 2011 · 9 min · Tony Bai

C程序员驯服Common Lisp – 控制结构

光有表达式,我们依旧无法写出实用的程序,我们还缺少控制结构(Control Structures)。 C语言主要有三种控制结构:顺序结构、条件分支结构和循环结构。Common Lisp 也实现了类似的控制结构,我们逐一来看。 一、顺序结构 顾名思义,顺序结构中的语句或表达式是按其位置的先后顺序依次执行的,这也是最简单也最容易理解的一种结构。在C语言中,绝大多数代码块(code block)中的代码...

September 14, 2011 · 7 min · Tony Bai

当可执行程序版本信息变更时

在Unix/Linux上,我们一般可以通过两种方法查看到一个可执行程序的版本信息,以下以Ubuntu中的Gcc为例。 第一种方法:我们可以直接通过程序名字得到版本信息,例如: $ which gcc /usr/bin/gcc $ ls -l /usr/bin/gcc lrwxrwxrwx 1 root root 7 2010-08-21 00:18 /usr/bin/gcc -> gcc-4.4\...

September 9, 2011 · 3 min · Tony Bai

西中岛旅记

算上这次,部门已经是连续三年组织去海边旅游了。前年没印象了,去年是南北戴河,今年是西中岛。 按理来说,总去海边肯定有些腻歪了。但我个人还是比较喜欢海的。喜欢海不是因为喜欢吃新鲜的海鲜,而是向往一种意境:大家一起坐在海边,扶着海风,听着海浪、远望海天之际,或陷入冥想,或欢歌笑语。 据导游说西中岛是个刚开发没几年的海边旅游景区,各种配套设施与成熟的景区相比还有较大差距,其吸引游客的地方就在于其平缓宽阔...

September 6, 2011 · 3 min · Tony Bai