Newsgroup: it.comp.java
Titolo: jython 2.2

ciao a tutti
1) come setto il path di ricerca dei moduli python? (da python 
interpreter (org.python.util.PythonInterpreter p instanziato)
2) c'è un news group di python italiano
3) p.eval(String) e p.exec(String) si equivaliano, solo che eval 
restituisce un valore?
grazie a tutti
gabry
web master di 
www.fantogame.it

 restituisce un valore?
Cos'è 'p'?
eval valuta un'espressione contenuta in una stringa e colloca il 
risultato in una variabile:
x = eval('3*2') # x vale 6
exec esegue un'istruzione contenuta in una stringa:
exec('print 3')
Ciao,
Paolo

Pablo Xon ha scritto:

org.python.util.PythonInterpreter p l'avevo messo nell'1

 org.python.util.PythonInterpreter p l'avevo messo nell'1
L'avevo preso per un errore di sintassi, scambiandolo con una 'è'.
Per il resto, sei riuscito a importare i moduli?
Ciao,
Paolo

Pablo Xon ha scritto:

si si sono riuscito,
ora volervo sapere se in python con jython posso, e come fare a 
istanziare oggetti java, e anche a derivarli e implementare interfaccie
grazie gabry

 istanziare oggetti java, e anche a derivarli e implementare interfaccie
Per effettuare queste operazione devi (ovviamente) utilizzare la 
sintassi python. Quindi:
- istanziare oggetti:
aClass = AClass()
- derivare una classe:
class ExtendedClass(BaseClass):
es. class MiaData(java.util.Date):
Previo "import java".
Se per esempio hai una classe java com.util.Constants puoi utilizzarla con:
from com.util import Constants
constants = Constants()
constants.tuoMetodo()
Le interfacce in Python non si usano come in java, essendo un linguaggio 
dinamico. Puoi verificare la presenza di un metodo con hasattr.
Ciao,
Paolo

Pablo Xon ha scritto:

posso usarle per esempio come superclassi da derivare, in modo da 
poterle dare  in pasto a una funzione java che le vuole?
in java:
interface A
{
int a(int x);
}
class pippo
{
void foo(A x)
{
java.out.println(A.a(4))
}
}
inb python :
class B(A) :
  def a(b) :
   return b + 1
pippo1 = pippo()
pippo1.foo(B())
posso farlo?
grazie gabry
p. s. per il path non devo impostare una variabile di ambiente ma usare 
il costruttore di jyton interpreter con 2 parametri e devo settare il 
path del 2 parametro.
p. s. 2 ma devo sempre dare import java, o cosa devo importare se devo 
usare una classe di un packpage mio, L'Ho costruito io (PostOffice).
grazie ancora gabry

 usare una classe di un packpage mio, L'Ho costruito io (PostOffice).
No, fai l'import solo di quello che ti serve.
Nell'esempio ho messo l'import java perché ho usato java.util.Date. 
Avrei anche potuto scrivere:
from java.util import Date
Ciao,
Paolo

 usi una vera e propria interfaccia, non una superclasse.
le superclassi dovrebbero essere le classi che vanno ereditate (tipo 
quelle abstract)


 quelle abstract)
Sì, e non solo quelle astratte: una superclasse è una qualsiasi classe 
che viene estesa.
Ciao,
Paolo

 (script jython che usavano package java preesistenti).
A proposito, come sta Jython?
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 A proposito, come sta Jython?
Procede con una certa calma...
Si vocifera ancora della sua inclusione nel JDK 1.7, forse questo darà 
una spinta allo sviluppo.
Io sinceramente l'ho un po' perso di vista da quando son passato "full 
time" a Python... ;)
Ciao,
Paolo