Panoramica
A volte è necessario eseguire lo stesso compito su più oggetti dello stesso tipo. Un approccio è ripetere l'istruzione per ogni oggetto. Tuttavia, questo richiede di ridigitare l'istruzione per ogni oggetto o di usare un ciclo.
Un approccio pratico è quello di inviare il messaggio a un elenco di oggetti. Questo metodo richiede di digitare il messaggio una sola volta. Di seguito sono riportati due esempi.
Esempio 1
Supponiamo di avere due tabelle dati e di voler aggiungere la stessa colonna formula a ciascuna tabella. Inoltre, supponiamo di voler ordinare ciascuna delle tabelle in nuove tabelle e creare riferimenti alle nuove tabelle. È possibile inviare i messaggi a un elenco di tabelle come mostrato di seguito, nonché utilizzare un elenco di nomi sul lato sinistro del segno di uguale.
//Create 2 sample tables
dt1 = New Table( "Table1",
Add Rows( 10 ),
New Column( "Index", "Numeric", "Ordinal", Set Values( Index( 1, 10 ) ) )
);
dt2 = New Table( "Table2",
Add Rows( 10 ),
New Column( "Index", "Numeric", "Ordinal", Set Values( Index( 11, 20 ) ) )
);
//Add a formula column to both tables
{dt1, dt2} << New Column( "Random", Formula( Random Normal() ) );
//Sort by the new column and return a list of references to the new sorted tables
{dt1s, dt2s} = {dt1, dt2} << Sort( By( :Random ) );
Esempio 2
Supponiamo di avere diverse TextBox e di voler cambiare il colore del font per tutte, e anche di recuperare il testo e memorizzare le informazioni in nuove variabili. Come mostrato qui, puoi usare le liste per eseguire tutte le azioni contemporaneamente.
//Create a window containing a few TextBoxes
nw = New Window( "Example",
tb1 = Text Box( "This is text box 1" ),
tb2 = Text Box( "This is text box 2" ),
tb3 = Text Box( "This is text box 3" )
);
//Set the font color by sending the message to a list of the objects
{tb1, tb2, tb3} << Font Color( Red );
//Return a list of the text stored in each TextBox
{text1, text2, text3} = {tb1, tb2, tb3} << Get Text;
[In precedenza JMP Nota 50975]