我已经在网上看过,并且已经在clojure网络应用程序的每个示例中看到过这些中的一个或两个.我正在编写一个应用程序,并希望使用json,但我不确定选择哪一个或者它们是否相同.有什么不同?我应该同时使用吗?
我正在使用一个带参数的函数,如下所示:
(test-function '((gate 1) (gate 3) (gate 2)))
列表参数可以包含任意数量的元素,其中每个元素的形式为(gate x)其中x可以是从0到8我有一个功能,整数generate-gate-list,其生成随机列表的长度(高达10)和内容,尽管它们总是上面的形式.
:生成栅极列表的示例输出((gate 2)),(()),((gate 1) (gate 6))等.
我希望能够嵌套generate-gate-list在内部,test-function以便我可以测试一堆随机生成的列表,而不事先生成它们.换句话说,我想要这样的东西:(test-function '(generate-gate-list))除了已经评估了generate-gate-list之外.我已经尝试了某种宏语法 - 引用和取消引用,但这会导致已解决的变量,比如(user/gate 3)哪些搞砸了测试功能.这是我的生成门列表代码:
(defn generate-gate-list []
(map symbol (repeatedly (rand-int 10) #(random-gate))))
Run Code Online (Sandbox Code Playgroud)
random-gate输出门元素作为字符串,即"(gate 3)"或"(gate 2)".
所以简而言之,我希望(test-function (something-here (generate-gate-list)))或者(test-function (modified-generate-gate-list))相当于(test-function '((gate 1) (gate 4) (gate 2)))或者生成门列表的其他任意输出.谢谢!