On Dec 9, 4:47 pm, Ant <[EMAIL PROTECTED]> wrote:
> 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:
Seems to work for me (on Linux with svn HEAD):
user=> "C:\\dev\\java\\clojure\\clj-repl.bat"
"C:\\dev\\java\\clojure\\clj-repl.bat"
user=> "C:/dev/java/clojure/clj-repl.bat"
"C:/dev/java/clojure/clj-repl.bat"
user=> "C:"
"C:"
What release are you using? I am assuming you are on
windows based on the string. Maybe you can try with the
latest svn sources.
Parth
> 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 clojure@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---