JSRUN 用代码说话

字符

编辑教程

字符

在LISP中,字符被表示为字符类型的数据对象。

可以记#前字符本身之前的字符的对象。例如,#一个表示字符a。

空格和其它特殊字符可以通过#前面的字符的名称前表示。例如,#空格代表空格字符。

下面的例子演示了这一点:

示例

创建一个名为main.lisp一个新的源代码文件,并在其中输入如下代码:

(write 'a)
(terpri)
(write #a)
(terpri)
(write-char #a)
(terpri)
(write-char 'a)

当执行以上代码,它返回以下结果:

A
#a
a
*** - WRITE-CHAR: argument A is not a character

特殊字符

Common Lisp允许使用以下特殊字符在代码。他们被称为半标准字符。

  • #Backspace
  • #Tab
  • #Linefeed
  • #Page
  • #Return
  • #Rubout

字符比较函数

数字比较函数和运算符,如,< 和 >上字符不工作。 Common Lisp提供了另外两组的功能,在代码中比较字符。

一组是区分大小写的,而另一个不区分大小写。

下表提供的功能:

Case Sensitive Functions Case-insensitive Functions 描述
char= char-equal 检查如果操作数的值都相等与否,如果是的话那么条件为真
char/= char-not-equal 检查如果操作数的值都不同,或没有,如果值不相等,则条件为真
char< char-lessp 检查如果操作数的值单调递减
char> char-greaterp 检查如果操作数的值单调递增
char<= char-not-greaterp 如有左操作数的值大于或等于下一个右操作数的值,如果是则条件为真检查
char>= char-not-lessp 如有左操作数的值小于或等于其右操作数的值,如果是,则条件为真检查。

示例

创建一个名为main.lisp一个新的源代码文件,并在其中输入如下代码:


(adsbygoogle = window.adsbygoogle || []).push({});



(adsbygoogle = window.adsbygoogle || []).push({});
; case-sensitive comparison
(write (char= #a #))
(terpri)
(write (char= #a #a))
(terpri)
(write (char= #a #A))
(terpri)
;case-insensitive comparision
(write (char-equal #a #A))
(terpri)
(write (char-equal #a #))
(terpri)
(write (char-lessp #a # #c))
(terpri)
(write (char-greaterp #a # #c))

当执行以上代码,它返回以下结果:

NIL
T
NIL
T
NIL
T
NIL
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟