相关疑难解决方法(0)

J中的连锁动词

假设包含各种类型的盒装矩阵:

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

6
推荐指数
2
解决办法
327
查看次数

标签 统计

j ×1