You can also you #_ to comment out a line of code #_(.vm detach)
so that you don't have to put )) on the next line. Brenton On Feb 11, 10:39 am, Greg Bowyer <gbow...@fastmail.co.uk> wrote: > Hi all, long time lurker first time irritant. > > I have been playing with clojure for a little while, and finding it most > excellent; however my lack of lisp thinking keeps leading me to write > ugly code. > > I have the following code in java: > > ------ > static final String CONNECTOR_ADDRESS = > "com.sun.management.jmxremote.localConnectorAddress"; > > VirtualMachine vm = VirtualMachine.attach(id); > String connectorAddress = > vm.getAgentProperties().getProperty(CONNECTOR_ADDRESS); > > // no connector address, so we start the JMX agent > if (connectorAddress == null) { > String agent = vm.getSystemProperties().getProperty("java.home") + > File.separator + "lib" + File.separator + "management-agent.jar"; > vm.loadAgent(agent); > > // agent is started, get the connector address > connectorAddress = > vm.getAgentProperties().getProperty(CONNECTOR_ADDRESS); > > } > > ----- > > I have translated this into the following clojure form > > --- > (defn obtain-local-connection [vmid] > (let [vm (VirtualMachine/attach vmid)] > (let [aquire-connector > #(.. vm (getAgentProperties) (getProperty > "com.sun.management.jmxremote.localConnectorAddress"))] > (if (aquire-connector) aquire-connector > (do > (. vm (loadAgent > (apply str > (interpose java.io.File/separator > (list (.. vm (getSystemProperties) (getProperty > "java.home")) > "lib" "management-agent.jar"))))) > (aquire-connector)))) > ;(. vm detach)) > )) > --- > > My question would be is there a better way to express this ? > > Many thanks > > -- Greg Bowyer -- 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