I want to have options in clojure file which I want to load from a
script. Script later will use global *input-config* to do its work.
;;;;;;;;;;;;;;;;;; c:\inputgen-config.clj
; Input configuration
(def *input-config*
  { :buy-vs-sell-length 1.0,
   :shorter-length 10,
   :min-price 0.0,
   :max-price 100.0,
   :fname "input.txt" })

;;;;;;;;;;;;;; inputgen.clj
(use 'clojure.contrib.command-line)
(defn -main [& args]
  (with-command-line args
    "Agruments spec for inputgen"
    [[input-file "Input file with directions" "inputgen-config.clj"]]
      (do
        (println "Loading input file:" input-file)
        (println (ns-interns *ns*))
        (load-file input-file)
        (println (ns-interns *ns*))
        ;(println *input-config*)
        ;(println #'*input-config*)
        ;(println #'user/*input-config*)
        )))
(apply -main *command-line-args*)

Here is what it prints after called on Windows (clojure 1.2)
c:\tmp>clj.bat inputgen.clj --input-file "c:/inputgen-config.clj"

Loading input file: c:/inputgen-config.clj
{-main #'user/-main}
{*input-config* #'user/*input-config*, -main #'user/-main}

So, it appears that load-file works but I can't println *input-config*
(as seen by 3 commented lines). First one fails with

Caused by: java.lang.Exception: Unable to resolve symbol: *input-
config* in this context
        at clojure.lang.Compiler.resolveIn(Compiler.java:5677)
        at clojure.lang.Compiler.resolve(Compiler.java:5621)
        at clojure.lang.Compiler.analyzeSymbol(Compiler.java:5584)
        at clojure.lang.Compiler.analyze(Compiler.java:5172)
        ... 55 more

Any ideas what is going on?




-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to