Как я могу выполнить итерацию функции с параметром, в котором параметром является имя файла в lisp? - PullRequest
0 голосов
/ 09 мая 2020

У меня есть 20 текстовых файлов в папке, и я не мог найти никакого решения, как моя основная функция, имеющая только один параметр, вызывает эти файлы (расширения файлов - «txt»). Я пробовал использовать подстановочный знак, но всегда получаю пути. Имя моей папки - это текстовые файлы, которые включают 20 файлов, и у меня не может быть никаких аргументов при запуске программы.

1 Ответ

0 голосов
/ 09 мая 2020

Вы можете попробовать следующее:

(defun my-func (dir)
    (setq pathname (make-pathname :name :wild :type "txt" :defaults (pathname dir)))
    (loop 
      for file in (directory pathname) do 
        (print (file-namestring file))))

Если вы хотите распечатать полный путь к файлу, вы можете использовать строку имени вместо строки имени файла.

...