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
-~----------~----~----~----~------~----~------~--~---

Reply via email to