Тестирование Clojure main из REPL

Я определил функцию -main в пространстве имен :gen-class :main true в Clojure. Я пытаюсь проверить это из REPL.

Моя функция main выглядит так:

(defn -main [& args]
  ; ...
  )

и я пытаюсь вызвать его с помощью (ns/-main "-x" "foo"), (ns/-main "-x foo"), (ns/-main ["-x" "foo"]), (ns/-main (into-array String ["-x" "foo"]) и т. д., и все выдают разные ошибки.

Как мне вызвать эту функцию из REPL и передать некоторые аргументы командной строки для ее проверки?

Спасибо.


person Ralph    schedule 10.12.2010    source источник


Ответы (1)


Я попытался воспроизвести это:

(defn -main [& args]
  (apply str args)
  )

Затем вызывается как:

(-main "a" "b" "c")

И он оценивается как:

"abc"

Как это должно..

Обязательно проверьте, используете ли вы правильный идентификатор пространства имен, а также посмотрите, не происходит ли что-нибудь странное внутри вашей функции -main, например, использование строки в качестве числа.

Кроме того, не мешало бы увидеть ваше сообщение об ошибке на этом ..

person Goran Jovic    schedule 10.12.2010
comment
Проблема заключалась в DUE (ошибка глупого пользователя). Теперь работает. Спасибо. - person Ralph; 11.12.2010