我刚刚发现:创建过滤器更改处理程序仅当我将返回值存储在变量中时才有效。
为什么
filter << Make Filter Change Handler( f );
不行? 背后是不是有一些值得了解的知识呢?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dist = Distribution( Automatic Recalc( 1 ), Continuous Distribution( Column( :POP ) ) );
filter = dist << Local Data Filter( Add Filter( columns( :Region ) ) );
f = Function( {a}, Print( a ) );
// 1st version dosn't work - why?
// filter << Make Filter Change Handler( f );
rs = filter << Make Filter Change Handler( f );