一旦进入REPL,我如何自动使用“test.clj”中的功能?

时间:2011-08-23 00:27:26

标签: clojure

在haskell中,我可以通过cusomizing~ / .ghci进入交互式环境时自动使用“test.hs”中定义的函数。

>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 :(得分:0)

用于评估+ REPL您可以使用以下命令:

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

请参阅documentation for clojure.main功能。命令行选项顺序很重要!

答案 1 :(得分:0)

你可以使用Leiningen。

 lein new foo

将代码粘贴到./foo/src/foo/core.clj并在./foo中运行'lein repl'

这样你就可以在REPL中使用core.clj中定义的函数。