Как я могу использовать функции в "test.clj" автоматически после ввода REPL? - PullRequest
3 голосов
/ 23 августа 2011

В haskell я могу использовать функции, определенные в "test.hs", автоматически при входе в интерактивную среду путем настройки ~ / .ghci.

>cat ~/.ghci
:def hoogle \str -> return $ ":! hoogle --count=15 \"" ++ str ++ "\""
:cd /media/E/www/qachina/db/doc/test
:load test

Теперь я конвертирую "test.hs" в "test.clj "и используйте следующий скрипт для ввода его REPL.

%cat ~/bin/myclj 
#!/bin/sh
breakchars="(){}[],^%$#@\"\";:''|\\"
CLOJURE_DIR=/usr/share/clojure
CLOJURE_JAR="$CLOJURE_DIR"/clojure.jar
CONTRIB_JAR="$CLOJURE_DIR"/clojure-contrib.jar
if [ $# -eq 0 ]; then 
     exec rlwrap --remember -c -b "$breakchars" \
       -f "$HOME"/.clj_completions \
     java -cp "$CLOJURE_JAR:$CONTRIB_JAR" clojure.main
else
     exec java -cp "$CLOJURE_JAR:$CONTRIB_JAR" clojure.main $1 -- "$@"
fi

С уважением!

Ответы [ 2 ]

0 голосов
/ 27 декабря 2012

Вы можете просто использовать Лейнинген.

 lein new foo

Вставьте свой код в ./foo/src/foo/core.clj и запустите 'lein repl' в ./foo

Таким образом, вы можете использовать функции, определенные в core.clj в REPL.

0 голосов
/ 23 августа 2011

для оценки + REPL вы можете использовать следующую команду:

java -cp .....  clojure.main -i script/run.clj -r

См. документацию по функции clojure.main . Порядок параметров командной строки важен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...