gpt4 book ai didi

comparison - 为什么集差函数不能将列表与文件中的数据进行比较?

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

这是我的文件和函数:

List1.txt => 猫 狗 老虎 熊

List2.txt => 猫 狗 老虎

这些文件在 winodws xp 上是 ANSI 编码的。

(defun get-file (filename)
(with-open-file (stream filename)
(loop for line = (read-line stream nil)
while line collect line)))

(defparameter *file1* (get-file "list1.txt"))
(defparameter *file2* (get-file "list2.txt"))

(set-difference *file1* *file2*)

我认为输出只是“熊”。但是,它返回 ("cat"、"dog"、"tiger"、"bear") 作为差异。我假设它必须归因于我从文件中读取信息但我被困在那里。感谢您的时间。

最佳答案

Common Lisp 使用 EQL 作为默认测试。您需要 string-equal 或类似的。

CL-USER > (set-difference '("cat" "dog" "tiger" "bear")
'("cat" "dog" "tiger")
:test #'string-equal)
->
("bear")

关于comparison - 为什么集差函数不能将列表与文件中的数据进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951492/

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