首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在通用Lisp中将整数转换为字符

在通用Lisp中将整数转换为字符
EN

Stack Overflow用户
提问于 2014-10-02 08:58:38
回答 2查看 3.9K关注 0票数 6

在通用Lisp中,是否有将整数解析为它们的char等价项的方法?

我找了一个早上,只找到了char-int.

代码语言:javascript
复制
* (char-int #\A)

65

其他一些消息来源也声称存在int-char

代码语言:javascript
复制
* (int-char 65)
; in: INT-CHAR 65
;     (INT-CHAR 65)
; 
; caught STYLE-WARNING:
;   undefined function: INT-CHAR
; 
; compilation unit finished
;   Undefined function:
;     INT-CHAR
;   caught 1 STYLE-WARNING condition

debugger invoked on a UNDEFINED-FUNCTION:
  The function COMMON-LISP-USER::INT-CHAR is undefined.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

("undefined function")

然而,我真正想要的是一种将1转换为#\1的方法

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-02 09:08:49

为了在字符和它们的数字编码之间进行转换,有char-codecode-char

代码语言:javascript
复制
* (char-code #\A)
65
* (code-char 65)
#\A

但是,要将数字转换为相应的字符,需要使用digit-char

代码语言:javascript
复制
* (digit-char 1)
#\1
* (digit-char 13 16) ; radix 16
#\D
票数 9
EN

Stack Overflow用户

发布于 2014-10-02 13:37:27

已经有一个被接受的答案,但是学习如何找到答案和得到具体的答案一样有帮助。查找所需函数的一种方法是执行(适当的搜索"CHAR“)。例如,在CLISP中,你会得到:

代码语言:javascript
复制
> (apropos "CHAR" "CL")
...
CHAR-CODE                                  function
...
CODE-CHAR                                  function
...

另一个有用的资源是HyperSpec。有置换指数,在"C“页面中搜索"char”将非常有用。或者,在HyperSpec中,13.字符一章是相关的,13.2“字符词典”是有用的。

这两种方法都可以找到另一个答案中提到的数字字符函数。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26157480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档