2014-03-24 156 views

回答

0

操作預先考慮爲(concatenate 'string <strings ...)

所以,你可以用

(cl-loop 
for item in '("abc" "123" "xy") 
collect (concatenate 'string "pre_" item)) 

組成一個更一般的方式實現自己的目標/生成字符串將使用格式

使用格式是

(cl-loop 
for item in '("abc" "123" "xy") 
collect (format nil "pre_~S" item)) 

注意事項使用cl-lib

3

嘗試

(mapcar (lambda (c) (concat "pre_" x)) '("abc" "123" "xy")) 
1

在Emacs中沒有第三方庫使用mapcar函數的函數適用於每個元素該列表如@sds所示。但是,如果您在Elisp中進行大量編程,我建議安裝2個第三方庫,用於列表操作的爲dash.el,用於字符串操作的爲s.el。這些庫通過一致的命名方案引入了大量的輔助功能。 dash.el也有許多功能的anaphoric版本,這使得代碼更加冗長。因此,要在列表中添加前綴爲每個字符串,你可以使用--maps-prepends-append爲後綴):

(--map (s-prepend "x" it) '("a" "b" "c")) ;; => ("xa" "xb" "xc")