如何将函数的返回变量分配给新变量?我已经创建并测试了一个名为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);