Hi François, Thank you. I have read through each of the articles you've indicated and will read in full the braveclojure book.
I am playing the syntax-quotes and will explore the io/resource package. To be honest I am still not confident in what I'm doing but there are still avenues to explore. At this stage I just want to acknowledge your response and let you know that it is very much appreciated. -- Kind regards Stephen. On 13 April 2014 07:02, François Rey <fmj...@gmail.com> wrote: > On 13/04/14 02:21, Stephen Feyrer wrote: > > > // Get the java file io library > (import '(java.io File)) > > // Get some files > (def f (File. "/My/files/")) > > (def fs (file-seq f)) > > // Filters for suffixes ".mp3" > (def get-mp3 (filter #(.endsWith (.getName %) ".mp3") fs)) > > // Get the path of one mp3 > (println (take 1 get-mp3)) > > This code is gathered from various unrelated Clojure forum posts. The > resultant collection, I must admit defeats my understanding. > > > My first question is the println statement returns "(#<File > /My/files/path/to/Some of/My Music Collection.mp3>)", would someone explain > this data structure for me, bearing in mind that white spaces and commas > are synonymous. > > It's not a data structure, it's just the way clojure prints out java > object: > > user=> f > #<File /My/files> > > > In the REPL Clojure tries to print out readable output, meaning something > that can be read again by the reader as input: > > user=> (def a '(1 2 3)) > #'user/a > user=> #'user/a > #'user/a > user=> (var a) > #'user/a > user=> map > #<core$map clojure.core$map@23130c0a> > > In the case of object instances, it cannot be printed into such readable > form, so it uses the #< to indicate this is unreadable: > > user=> #<File /tmp> > > clojure.lang.LispReader$ReaderException: java.lang.RuntimeException: > Unreadable form > java.lang.RuntimeException: Unreadable form > > See also the answer to this stackoverflow question: > > http://stackoverflow.com/questions/17263929/clojure-read-string-on-functions > > If you want to know more about reader macros: > http://en.wikibooks.org/wiki/Learning_Clojure/Reader_Macros > > There's also this chapter from an online beginner's book I recommend (you > may want to read the stuff before): > http://www.braveclojure.com/read-and-eval/ > > > > Please note, while I have programmed a little in the past this does not > prevent me from asking dumb questions. Thus finally, if this is not the > appropriate place for this sort question could you point me in the right > direction? > > You're perfectly fine here, newbies welcome. > In fact your question is about something that isn't much talked or written > about in clojure. > > HTH > -- > 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 > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.