The call to a static method is special, try

(.exec (Runtime/getRuntime) "ls")

Regards, alux

TimDaly schrieb:
> (defn cmdresult [cmdstr]
>   (let [args (into [] (seq (.split cmdstr " ")))]
>   (BufferedReader.
>     (InputStreamReader.
>       (. (. (. Runtime (getRuntime)) (exec args))
> (getInputStream))))))
>
> (defn readLine [cmdresult] (. cmdresult (readLine)))
>
> (def a (cmdresult "ls *.o"))
>
> This fails claiming:
> No matching method found: exec for class java.lang.Runtime
>
> If I replace the Runtime line with:
>    (. (. (. Runtime (getRuntime)) (exec "ls")) (getInputStream))))))
> it works and gives me the result of the "ls" system call.
>
> If I replace the Runtime line with
>   (. (. (. Runtime (getRuntime)) (exec "ls *.o"))
> (getInputStream))))))
> it fails even though it has a string argument.
>
> Suggestions?
>
> Tim Daly

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

To unsubscribe from this group, send email to 
clojure+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to