cerca
BeanShell
modifica cronologia stampa login logout

Wiki

Tools

Categorie

Help

edit SideBar

BeanShell

 :: BeanShell ::

Introduzione

BeanShell è un interprete di Java scritto in Java:) Praticamente è un linguaggio di script che ha la stessa sintassi di Java, ed è scritto in Java. Oltre ai vantaggi soliti dell'avere un'applicazione scriptabile, questo in particolare, secondo me, ha un'interessante valenza pedagogica, perché permette di imparare ed utilizzare Java in modo immediato, senza la trafila (che peraltro prima o poi si renderà necessaria) della compilazione etc. etc.

Avviare BeanShell

Basta scaricare il .jar (ora come ora si chiama bsh-2.0b4.jar) dalla pagina di BeanShell, e dare un bel

 java -jar bsh-2.0b4.jar 

Quello che compare è il BeanShell Desktop, con subito aperta una shell, cioè una console, cioè un terminale che accetta comandi Java. Provare per credere.

Per visualizzare qualcosa direttamente nella BeanShell occorre usare però print, al posto del classico System.out.println (peraltro accettato tranquillamente da BeanShell), perché print stampa direttamente sulla console, mentre System.out.println stampa sul terminale da cui avete eseguito BeanShell (eh non è colpa mia se tutte le cose hanno lo stesso nome: shell di qui, shell di là).

Per terminare una riga, si mette il ;, così come in Java. Se no, bisogna premere due volte invio.

Il linguaggio accettato da BeanShell

È Java, come dicevo. Ma BeanShell permette anche di rilassarsi un po', per esempio NON dando i tipi alle variabili.

 int d = 20;
 z = 50;

Con int d = 20;, la variabile d viene dichiarata come int, e quindi d'ora in poi saremo costretti ad usarla come tale.
Invece z = 50 dichiara z in modo più lasso, tipico dei linguaggi di scripting.

Questo offre il vantaggio di poter buttare giù velocemente un algoritmo, vedere se va, e poi provvedere a dare i tipi giusti. Dal momento che la sintassi è proprio quella di Java, nel momento in cui si deciderà di compilare effettivamente il codice, basterà (quasi) fare un bel copia&incolla nell'IDE utilizzata e compilare.

L'editor

Il menu File della shell permette di aprire un Workspace Editor, cioè un editor di testo. Non ha la colorazione della sintassi etc. però è comodo, anche perché è possibile incollarci del testo proveniente da altrove.

Nel Workspace Editor, dopo aver scritto qualcosa, si sceglie dal menu Evaluate la voce Evaluate in Workspace e quanto abbiamo scritto verrà eseguito nella shell.

Classi ed affini

Come in Java, si possono definire delle classi. Se la shell le accetta, bene. I tipi creati, da quel momento in avanti, faranno parte del workspace.

Nell'editor si può scrivere:

 class Oggetto {
	public Oggetto() {
		print("Costruttore di oggetto");
	}
 }

e scegliere Evaluate in workspace.

Dalla shell poi diamo il comando

 o = new Oggetto();

e il risultato sarà:

 Costruttore di Oggetto

Programmazione