Я пытаюсь проанализировать результат старого API, который возвращает CSV-данные (без заголовка). Функция parse-response
отлично работает, но когда я пытаюсь проверить с помощью verify-response
, она не работает с ArityException Wrong number of args (0) passed to: PersistentHashMap
. Как передать хэш-карту через функцию, которая проверяет поле ключа и создает альтернативную хэш-карту ошибки, если она недействительна?Clojure аргумент одной функции большой хэш-карты?
(def response-fields
[:response_code :response_text
:address :city :state :zip_code :country
:phone :fax :email
:first_name :last_name :company
:special_instructions :SpecialCode
])
(defn parse-response
"One line CSV file"
[response]
(zipmap response-fields
(first (csv/read-csv (:body response)))))
(defn verify-response
"Get response if code is valid"
[response-map]
(cond (some? (:response_code response-map)) (response-map)
:else
{:response_code "911"
:response_text "API Failure"}))
Похож на странствующий набор парен вокруг карты ответа. – Alex
Отлично, @Alex, вот и все. Благодаря! – sventechie
@Alex, это должно быть принято и принято, поэтому этот вопрос не отображается как «без ответа». –