Я вижу сразу несколько проблем:
Ваш синтаксис для dotimes неправильный, вам нужно включить переменную цикла.Что-то вроде:
(dotimes [i MAX_OPERATIONS]
....)
Также rand-int просто нужен целочисленный параметр, а не вектор, что-то вроде:
(rand-int MAX_ACCOUNT)
Кроме того, я не уверен, что ваш (получите...) вызов делает именно то, что вы намерены.Как написано в настоящее время, он вернет ключевое слово :account-id
, если не найдет случайно сгенерированный целочисленный ключ, что вызовет проблемы, поскольку передаточная функция требует двух ссылок как от учетной записи до учетной записи.
Как более общий совет, вам, вероятно, следует попытаться кодировать это по крупицам в REPL, проверяя, что каждая часть работает так, как задумано.Часто это лучший способ разработки в Clojure - если вы пишете слишком много кода сразу, не тестируя его, то, скорее всего, в нем будет несколько ошибок, и вы можете потеряться, пытаясь отследить корень проблемы.