개요
때로는 동일한 유형의 여러 객체에 대해 동일한 작업을 수행해야 할 때가 있습니다. 한 가지 방법은 각 객체에 대해 문장을 반복하는 것입니다. 그러나 이렇게 하려면 각 객체에 대해 문장을 다시 입력하거나 루프를 사용해야 합니다.
편리한 접근 방식은 메시지를 객체 목록으로 보내는 것입니다. 이 방법은 메시지를 한 번만 입력하면 됩니다. 아래에 두 가지 예가 나와 있습니다.
예제 1
두 개의 데이터 테이블이 있고 각 테이블에 동일한 수식 열을 추가하고 싶다고 가정해 보겠습니다. 또한 각 테이블을 새 테이블로 정렬하고 새 테이블에 대한 참조를 만들고 싶다고 가정해 보겠습니다. 아래에 표시된 대로 테이블 목록으로 메시지를 보낼 수 있으며 등호 왼쪽에 이름 목록을 사용할 수도 있습니다.
//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 ) );
예제 2
여러 개의 TextBox가 있고 모든 TextBox의 글꼴 색상을 변경하고 싶고, 텍스트를 검색하여 정보를 새 변수에 저장하고 싶다고 가정해 보겠습니다. 여기에 표시된 대로 목록을 사용하여 모든 작업을 한 번에 수행할 수 있습니다.
//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;
[이전 JMP 노트 50975]