Following my earlier post, i tried converting the working shutdown
function into a multi-method in order to make it cleaner to read...
However for some reason the compiler is complaining and i can't pinpoint
wheere the problem is! This is the multi-method:
------------------------------------------------------------------------------------------------------------------------------------
(defmulti halt
(fn []
(let [os (System/getProperty "os.name")]
(if (.startsWith os "Mac OS") :Linux (keyword os)))))
(defmethod halt :Linux [root-pwd minutes-after]
(clojure.java.shell/sh
"sudo" "-S" "shutdown" (str "+" minutes-after) :in (str root-pwd "\n")))
(defmethod halt :Windows [_ minutes-after]
(clojure.java.shell/sh "shutdown" "-s" "-t" (str minutes-after)))
(defmethod halt :Solaris [root-pwd seconds-after]
(clojure.java.shell/sh "shutdown" "-S" "-y" (str "-g" seconds-after)
"-i" "S" :in (str root-pwd "\n")))
(defmethod halt :default [] (println "Unsupported operating system!"))
-------------------------------------------------------------------------------------------------------------------------------------
when calling (halt "some-password" 1) i'm getting this:
java.lang.IllegalArgumentException: Wrong number of args (2) passed to:
user$eval664$fn (NO_SOURCE_FILE:0)
the same happens no matter how many args i pass in! this is very strange!
thanks in advance...
Jim
On 07/05/12 19:52, Jim - FooBar(); wrote:
Good stuff... :-)
Jim
On 07/05/12 19:51, Armando Blancas wrote:
Can someone please verify that it works on windows as well???
It works on XP.
--
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 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