假设包含各种类型的盒装矩阵:
matrix =: ('abc';'defgh';23),:('foo';'bar';45)
matrix
Run Code Online (Sandbox Code Playgroud)
+---+-----+--+ |abc|defgh|23| +---+-----+--+ |foo|bar |45| +---+-----+--+
列描述符:
columnTypes =: 'string';'string';'num'
Run Code Online (Sandbox Code Playgroud)
我想根据类型按列在这个矩阵上应用动词.我将使用动词DoString和DoNum:
chain =: (('string';'num') i. columnTypes) { DoString`DoNum
Run Code Online (Sandbox Code Playgroud)
编辑:列描述符很重要,决定使用哪个动词是基于它们,而不是基于类型本身.实际上,我可以有几种类型的字符串,数字,甚至日期(在J中都是数字).
我如何申请chain每一行matrix?动词本身可以处理传递的值是否为盒装,这很好.另外,我宁愿避免转置矩阵(|:),因为它可能非常大.
j ×1