绝大多数TSL语言的基础函数已经支持矩阵计算。
如果某个函数不支持矩阵,我们可以采用::=来使得TSL支持类似的功能。
例如ifReal函数,可以判定是否为实数,我们有一个数组a内容为array(-1,"AAA",1),我们直接调用a:=ifReal(a)会得到假,因为数组不是实数,但是我们可以用a::=IfReal(mcell)来替代。这样我们就返回了一个是否为实数的数组。利用::=和::,TSL可以做很多灵活便捷的工作。
::=的工作原理是,遍历矩阵,对右表达式进行计算,计算结果设置给矩阵的项。
而MCell可以获得当前遍历的项的值,所以ifReal(MCell)就是判定当前遍历项是否为浮点数。
同样,:.=也有该功能。