How to import under an alias?

2014-04-19 Thread Ismael VC
Hello everyone! I'm reading the clojure introduction at clojure-doc, I'm 
currently on "namespaces", and after reading about:

(require '[clojure.string :as str])

I tried to do:

user=> (require '[javax.swing.JOptionPane/showMessageDialog :as Diag])

so I could do:

user=> (Diag nil "Hello Clojure!")

but I get:

FileNotFoundException Could not locate showMessageDialog__init.class or 
showMessageDialog.clj on classpath:   clojure.lang.RT.load (RT.java:443)

I only know Python, I'm trying to do something analogous to this in Jython:

>>> from javax.swing.JOptionPane import showMessageDialog as Diag
>>> Diag(None, "Hello Jython!")

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


Re: How to import under an alias?

2014-04-19 Thread Gary Trakhman
Clojure namespaces do not interop with java objects like that except for
the 'import' statement.

The best you can do:

(import '[javax.swing JOptionPane])
(JOptionPane/showMessageDialog nil "Hello Clojure")


On Sat, Apr 19, 2014 at 1:34 PM, Ismael VC  wrote:

> Hello everyone! I'm reading the clojure introduction at clojure-doc, I'm
> currently on "namespaces", and after reading about:
>
> (require '[clojure.string :as str])
>
> I tried to do:
>
> user=> (require '[javax.swing.JOptionPane/showMessageDialog :as Diag])
>
> so I could do:
>
> user=> (Diag nil "Hello Clojure!")
>
> but I get:
>
> FileNotFoundException Could not locate showMessageDialog__init.class or
> showMessageDialog.clj on classpath:   clojure.lang.RT.load (RT.java:443)
>
> I only know Python, I'm trying to do something analogous to this in Jython:
>
> >>> from javax.swing.JOptionPane import showMessageDialog as Diag
> >>> Diag(None, "Hello Jython!")
>
> --
> 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.


Re: How to import under an alias?

2014-04-19 Thread Ismael VC
Thanks Gary!

My intention is to have an alias, so making a new function, seems to be the 
best option:

(defn dialog
  "Shows a dialog and asks for confirmation."
  [message]
  (javax.swing.JOptionPane/showMessageDialog nil message))

(dialog "Hello Clojure!")

Is there any difference or drawback in doing it like that instead of first 
importing it?

(import '[javax.swing JOptionPane])

(defn dialog-2
  "Shows a dialog and asks for confirmation."
  [message]
  JOptionPane/showMessageDialog nil message)

(dialog-2 "Hello Clojure!")


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


Re: How to import under an alias?

2014-04-19 Thread Gary Trakhman
There's no drawback.


On Sat, Apr 19, 2014 at 8:49 PM, Ismael VC  wrote:

> Thanks Gary!
>
> My intention is to have an alias, so making a new function, seems to be
> the best option:
>
> (defn dialog
>   "Shows a dialog and asks for confirmation."
>   [message]
>   (javax.swing.JOptionPane/showMessageDialog nil message))
>
> (dialog "Hello Clojure!")
>
> Is there any difference or drawback in doing it like that instead of first
> importing it?
>
> (import '[javax.swing JOptionPane])
>
> (defn dialog-2
>   "Shows a dialog and asks for confirmation."
>   [message]
>   JOptionPane/showMessageDialog nil message)
>
> (dialog-2 "Hello Clojure!")
>
>
>  --
> 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.