Matrix J:输入矩阵的简便方法?

Matrix J:输入矩阵的简便方法?,matrix,j,Matrix,J,我在纸上写了一个n×m的矩阵,我想用J来计算它。 我可以输入这样的矩阵(n=3,m=3): 问题是如何输入这样的矩阵: A =: (something here) 1 3 2 4 7 8 1 2 2 0 0 1 ) 我问这样一个奇怪问题的原因是,我在一些书中看到过类似的方法,使用动词0:0或类似的东西键入矩阵,但我记不起在哪里:{我使用(这里的某物)作为(“;)\u 2)0:0。这样我也可以混合表达式 ] A =: (".;._2) 0 : 0 5 $ 0 ? 5 $ 5 5 $ 1 1

我在纸上写了一个n×m的矩阵,我想用J来计算它。
我可以输入这样的矩阵(n=3,m=3):

问题是如何输入这样的矩阵:

   A =: (something here)
1 3 2 4
7 8 1 2
2 0 0 1
)
我问这样一个奇怪问题的原因是,我在一些书中看到过类似的方法,使用动词
0:0
或类似的东西键入矩阵,但我记不起在哪里:{

我使用
(这里的某物)
作为
(“;)\u 2)0:0
。这样我也可以混合表达式

] A =: (".;._2) 0 : 0
5 $ 0
? 5 $ 5
5 $ 1
1 2 3 2 1
)
0 0 0 0 0
2 1 0 0 3
1 1 1 1 1
1 2 3 2 1
使用二元(而非一元)
将尝试将每一行解析为一个数字字符串,而不是将其计算为一个J语句。如果字符串无法解析为数字,则使用左参数(
\u 99
,在下面的示例中)此方法将正确地解释表示为字符串的较大数字集

选择
名词define
而不是
0:0
只需保存一组括号,否则需要将
\u 2
0
分开

   ]A =: _99&".;._2 noun define
1 -3 2 4
7 8 1 2
2 0 0 1
)
1 _3 2 4
7  8 1 2
2  0 0 1

0:0
更容易记住
名词define
,我发现使用
动词define
3:0
副词def'blah blah blah'
1:'blah blah blah'
等更清晰,更易于维护。是的,很好的评论,尽管我喜欢
0:0
more:)。我读过一次
0:0
3:0
,记住了,从那时起我就忘记了
动词define
和其他。这是品味的问题:)谢谢。我同意
名词define
,尽管我相信每个J程序员首先学会了什么是连词
0:0
,所以他知道什么是
0:0
。我喜欢这种形式,它看起来像鸡蛋朝某人尖叫的脸上掉下来。
:0
。啊哈:谢谢。@Tikkanz的答案更详细,但你的答案看起来简洁——可以说是J风格。:)而且混合表达式的能力真的很棒!
   ]A =: _99&".;._2 noun define
1 -3 2 4
7 8 1 2
2 0 0 1
)
1 _3 2 4
7  8 1 2
2  0 0 1