2

我将如何将制表符分隔字符串中的值添加到 plist?

  (dolist (x *行*)
    (cl-ppcre:split "\t" x))

*lines*是从文件加载的制表符分隔字符串的列表,我想制作一个表单的 plist

(:a值1:b值2:c值3)

谢谢!

4

2 回答 2

5
(let ((line '("foo" "bar" "baz")))
   (loop for item in line and key in '(:a :b :c) collect key collect item))


=> (:A "foo" :B "bar" :C "baz")


(mapcan 'list '(:a :b :c) '("foo" "bar" "baz"))

=> (:A "foo" :B "bar" :C "baz")
于 2009-03-28T04:04:19.577 回答
2

您应该从文件中读取这些行,CL-PPCRE:SPLIT 它们以获取列表,并逐步浏览此列表:

(loop
   for (key value) on (cl-ppcre:split " " "a value1 b value2 c value3") by #'cddr
   appending (list (intern (string-upcase key) (find-package :keyword))
                   value))
于 2009-03-28T05:24:03.363 回答