Я хотел вызвать функцию, которую написал, а также добавить элементы в хэш-карту. Я хотел знать, как можно применить обе эти функции к одному и тому же списку.
Например, у меня есть следующий код для рекурсивного кода DFS
(defn dfs-recur [maze curr-loc goal-loc parent]
(;;Want to add elements of the following list to the parent map
;; and call dfs-recur on them
(def unvisited (filter #(not (contains? parent %)) (get-neighbors maze curr-loc)))
maze)
Если бы я должен был его реализоватьв питоне это будет выглядеть примерно так. Проблема в том, что я не понимаю, как сделать все 4 вещи внутри цикла for в Clojure
def dfs-recur(maze, curr-loc, goal-loc, parent):
neighbors = get-neighbors(maze, curr-loc)
for i in neighbors:
if i in parent:
break;
parent[i] = curr-loc
if i == goal-loc:
break;
parent = dfs-recur(maze, i, goal-loc, parent)
return parent