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 に答える