如何將函數的返回變量分配給新變量?我已經創建並測試了一個名為JoinTables的函數。該函數將返回一個數據表。我希望將返回的數據表分配給dtSlopeTable變量。
dtSlopeTable = JoinTables(dataTableList, columnGroup);
運行此命令時,將使用所需的內容創建輸出表,但該輸出表未與變量名“ dtSlopeTable”關聯。
當我檢查dtSlopeTable的值時,它說是Data Table(“ UnknownTable”)。
我已經嘗試過wait(0)和wait(10),但是沒有用。
但是,如果我使用wait(0)並且前面的行具有:
dtTest = New table();
這是一個很奇怪的工作,我希望使用一個乾淨的解決方案。您是否知道為什麼不能將表分配給變量名?
如果您需要查看函數定義,我很樂意附加。
謝謝您的幫助。
回复:如何將函數的返回變量分配給新變量?返回到調用語句的是函數中處理的最後一個項目,因此您所要做的就是將要調用新數據表的句柄放置為最後一個項目,並將其返回給調用變量。 請參閱下面的簡單示例
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = New Table( "lookup",
New Column( "Sex", character, values( {"F", "M"} ) ),
New Column( "Avg Height", values( {68, 70} ) )
);
joinTables = Function( {x1, x2, m1},{},
dtFinal = x1 << join( With( x2 ), Merge same name columns(1), Match Columns( Column( m1 ) == Column( m1 ) ) );
dtFinal;
);
dtSlopeTable=joinTables(dt,dt2,"Sex");
show(dtSlopeTable);