Я пытаюсь вызвать функцию, используя данные, которые я прочитал из входного файла.У меня есть следующая функция, которая принимает список вершин и произвольное количество команд.(Я немного упростил эту функцию).
(create-graph vertex-list cmd0 cmd1 ... cmdn)
Мой входной файл будет выглядеть примерно так:
(2
(vertex-create "Paris")
(vertex-create "London"))
, где 2 - количество вершин.
С этим вводом я хотел бы вызвать create-graph как
(create-graph
'(v1 v2)
(set! v1 (vertex-create "Paris"))
(set! v2 (vertex-create "London"))
)
, где v1 и v2 - символы, созданные для каждой вершины.
Теперь у меня есть возможность построить всю функциюв качестве строки и использовать eval-string.Но есть ли способ сделать этот вызов функции без использования eval-string?Использование Eval для некоторых частей должно быть хорошо.Точнее говоря, я думаю, что мне нужно уметь динамически :
- создавать список символов и
- создавать команды (например, (установить! v1 (vertex-create "Paris")))
Буду признателен за ваш вклад.Спасибо!