我正在查看 Emerick、Carper 和 Grand 所著“Clojure Programming”一书第 16 章中的示例代码,我看到了
(ns com.clojurebook.url-shortener
(:use [compojure.core :only (GET PUT POST defroutes)])
(:require (compojure handler route)
[ring.util.response :as response]))
我在精神上解析该:require
条款时遇到了一些麻烦,希望能得到一些帮助。条款中的第一种形式,即(compojure handler route)
,似乎是 a Prefix List
,如这里的文档中记录的那样。但是,它不符合前缀列表的定义,因为
前缀列表包含共享前缀,后跟从库名称中删除的共享前缀的 libspecs。
但是书中的用法有三个符号,没有一个看起来像共享前缀。此外,
删除前缀后,保留的名称不得包含任何句点。
书中的用法有一个剩余的名称,ring.util.response
其中带有句点。
因此术语
(:require (compojure handler route)
[ring.util.response :as response])
不是前缀列表。那这是什么?我在:require
.