Hi all,
I've just started looking with interest at the language, and have
decided to port some of my smaller programs and scripts to Clojure as
a way of getting to know the language. I am stumbling over Strings at
the moment, as I am trying to read a file. I have tried the following:
user=> "C:\dev\java\clojure\clj-repl.bat"
")\n"
user=> java.lang.Exception: Invalid token: C:
java.lang.Exception: ReaderError:(8,1) Invalid token: C:
at clojure.lang.LispReader.read(LispReader.java:164)
at clojure.lang.Repl.main(Repl.java:68)
Caused by: java.lang.Exception: Invalid token: C:
at clojure.lang.LispReader.interpretToken(LispReader.java:266)
at clojure.lang.LispReader.read(LispReader.java:156)
... 1 more
OK, so that didn't work. I read the docs on Strings:
Strings - Enclosed in "double quotes". May span multiple lines.
Standard Java escape characters are supported.
So next I tried, thinking it may be the backslashes that were the
problem, and needed escaping:
"C:\\dev\\java\\clojure\\clj-repl.bat"
"\n"
user=> java.lang.Exception: Invalid token: C:
java.lang.Exception: ReaderError:(10,1) Invalid token: C:
at clojure.lang.LispReader.read(LispReader.java:164)
at clojure.lang.Repl.main(Repl.java:68)
Caused by: java.lang.Exception: Invalid token: C:
at clojure.lang.LispReader.interpretToken(LispReader.java:266)
at clojure.lang.LispReader.read(LispReader.java:156)
... 1 more
Same error, and it seems to me that the double quoted string isn't
being accepted as a string literal. I tried converting the path to
forward slashes:
java.lang.Exception: No such namespace: C:/dev/java/clojure
clojure.lang.Compiler$CompilerException: NO_SOURCE_FILE:0: No such
namespace: C:/dev/java/clojure
at clojure.lang.Compiler.analyze(Compiler.java:3713)
at clojure.lang.Compiler.analyze(Compiler.java:3671)
at clojure.lang.Compiler.eval(Compiler.java:3895)
at clojure.lang.Repl.main(Repl.java:75)
Caused by: java.lang.Exception: No such namespace: C:/dev/java/clojure
at clojure.lang.Compiler.resolveIn(Compiler.java:3998)
at clojure.lang.Compiler.resolve(Compiler.java:3972)
at clojure.lang.Compiler.analyzeSymbol(Compiler.java:3955)
at clojure.lang.Compiler.analyze(Compiler.java:3686)
... 3 more
So it seems that this isn't being treated as a string at all! It
thinks that the slashes are denoting a namespace. What am I missing
here?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---