Descripción general
A veces es necesario realizar la misma tarea en varios objetos del mismo tipo. Una forma de hacerlo es repetir la instrucción para cada objeto. Sin embargo, esto requiere que vuelva a escribir la instrucción para cada objeto o utilice un bucle.
Un método práctico consiste en enviar el mensaje a una lista de objetos. Este método requiere que escriba el mensaje solo una vez. A continuación se ofrecen dos ejemplos.
Ejemplo 1
Supongamos que tengo dos tablas de datos y quiero agregar la misma columna de fórmula a cada tabla. Además, supongamos que quiero ordenar cada una de las tablas en nuevas tablas y crear referencias a las nuevas tablas. Puede enviar los mensajes a una lista de tablas como se muestra a continuación, así como también usar una lista de nombres en el lado izquierdo del signo igual.
//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 ) );
Ejemplo 2
Supongamos que tengo varios cuadros de texto y quiero cambiar el color de fuente de todos ellos, así como recuperar el texto y almacenar la información en nuevas variables. Como se muestra aquí, puedes usar listas para realizar todas las acciones a la vez.
//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;
[Anteriormente Nota JMP 50975]