Как я использую Zip в Clojure?

В моем случае у меня добавлен jar exteranl. Так что я переместил положение внешнего jar в верхнюю часть ссылки Android в Project Prop ---> Java buildPath ---> Ссылки проекта

9
задан unj2 23 July 2009 в 01:48
поделиться

2 ответа

Вы можете спутать два разных способа импорта кода. Вы можете сделать это следующим образом:

user> (use 'clojure.zip)

Или когда вы объявляете пространство имен в исходном файле:

(ns foo
  (:use clojure.zip))

Вторая версия - это макрос, который расширяется в первую.

За пределами (ns) , выполнение (: используйте "zip") будет обрабатывать : использовать как функцию и вызывать ее с помощью ] "zip" в качестве параметра (т.е. попробуйте использовать строку "zip" как коллекцию и найдите в ней ключ : используйте ), что ничего не дает.

clojure.zip имеет некоторые функции, имена которых конфликтуют с вещами в clojure.core , поэтому вам нужно либо сделать что-то вроде этого:

user> (use '(clojure [zip :rename {next next-zip replace replace-zip remove remove-zip}]))

Или, лучше, так:

16
ответ дан 4 December 2019 в 11:43
поделиться

Я мало что знаю о clojure, но эта небольшая частушка, похоже, работает:

(require '[clojure.zip :as zip]) 
(def t '(:a (:b :d) (:c :e :f))) 
(def z (zip/zipper rest rest cons t)) 
(zip/node z) 
2
ответ дан 4 December 2019 в 11:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: