2010-12-10 2 views
2

Я определил функцию -main в пространстве имен в Clojure. Я пытаюсь проверить его из REPL.Тестирование Clojure main из 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 и передать некоторые аргументы командной строки для ее проверки?

Спасибо.

ответ

5

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

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

Тогда как называется:

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

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

"abc" 

Как и положено ..

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

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

+1

Проблема была ошибкой DUE (ошибка пользователя). Теперь работает. Благодарю. – Ralph

+1

@ Ralf: Был там ... сделал это .. :) –

Смежные вопросы