gpt4 book ai didi

lisp - 如何比较用户输入的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:15 25 4
gpt4 key购买 nike

我想将来自 READ 的用户输入与字符串进行比较,如下所示:

CL-USER 36 > (equalp (read) "same")
same
NIL

但是,如您所见,即使我输入“same”,EQUALP 仍表示我的输入和字符串不同。如何比较这两者?

最佳答案

您可以使用 read-line为此:

CL-USER> (equalp (read-line) "same")
same
T

read 会返回一个符号:

CL-USER> (type-of (read))
same
SYMBOL

来自Hyperspec :

read parses the printed representation of an object from input-stream and builds such an object.

您只想读取一个字符串,而读取解析输入并从中构造 Lisp 对象。

要从 read 中获取字符串,您必须使用字符串的“打印表示”,即将它们放在双引号中:

CL-USER> (equalp (read) "same")
"same"
T

(顺便说一句:string= 用于字符串比较;equalp 将忽略大小写。)

关于lisp - 如何比较用户输入的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com