level 1
SarrowBlue
楼主
《实用Common Lisp 编程》中提到,
形如(P12)
(format t "hello, world")
列表第一个元素是函数名,format;
第二个元素,我不知道是什么类型,但是书中提到,t表示标准输出。
*standard-output*的简称(P20)
然后,在添加记录MP3标签记录的地方(P18),
CL-USER> (make-cd "Roses" "Kathy Mattea" 7 t)
(:TITLE "Roses" :ARTIST "Kathy Mattea" :RATING 7 :RIPPED T)
输入的列表,最后一个元素,又成了bool真值。
接着,在3.6 查询数据库(P24)这里,介绍了#'的用法:
CL-USER> (removed-if-not #'evenp '(1 2 3 4 5 6 7 8 9 10))
(2 4 6 8 10)
书中如此解释:
这里的谓词是函数 EVENP,当其参数是偶数时返回真。那个有趣的
#'记号是“获取函数,其名如下”的简称。没有#
'的话,lisp将把
evenp作为一个变量名来对待并查找该变量的值,而不是将其看做函数。
按上面看似矛盾的说法,我到底应该如何看待
(format t "hello, world")
列表中,出现的第二个元素 t 呢?
2015年04月01日 00点04分
1
形如(P12)
(format t "hello, world")
列表第一个元素是函数名,format;
第二个元素,我不知道是什么类型,但是书中提到,t表示标准输出。
*standard-output*的简称(P20)
然后,在添加记录MP3标签记录的地方(P18),
CL-USER> (make-cd "Roses" "Kathy Mattea" 7 t)
(:TITLE "Roses" :ARTIST "Kathy Mattea" :RATING 7 :RIPPED T)
输入的列表,最后一个元素,又成了bool真值。
接着,在3.6 查询数据库(P24)这里,介绍了#'的用法:
CL-USER> (removed-if-not #'evenp '(1 2 3 4 5 6 7 8 9 10))
(2 4 6 8 10)
书中如此解释:
这里的谓词是函数 EVENP,当其参数是偶数时返回真。那个有趣的
#'记号是“获取函数,其名如下”的简称。没有#
'的话,lisp将把
evenp作为一个变量名来对待并查找该变量的值,而不是将其看做函数。
按上面看似矛盾的说法,我到底应该如何看待
(format t "hello, world")
列表中,出现的第二个元素 t 呢?