我正在尝试对J中的文件进行一些基本的数学运算

问题描述 投票:0回答:1

我有一个数字,用空格隔开(不是csv文件,而是纯文本文件),下面的代码将对连续出现的数字进行求和。

+ / 0“。1!:1

math statistics j
1个回答
0
投票

考虑:

$ cat nrow
1 2 3 4 5
$ cat ncol
1
2
3
4
5

和在J:

   'b' fread 'nrow'
┌─────────┐
│1 2 3 4 5│
└─────────┘
   'b' fread 'ncol'
┌─┬─┬─┬─┬─┐
│1│2│3│4│5│
└─┴─┴─┴─┴─┘
   $".>'b' fread 'ncol'
5
   $".>'b' fread 'nrow'
1 5
   'm' fread 'ncol'
1
2
3
4
5
   'm' fread 'nrow'
1 2 3 4 5
   $".'m' fread 'nrow'
1 5
   $".'m' fread 'ncol'
5

因此它们都可以通过fread进行直接读取,只是形状有所不同。如果您愿意为文件中的数字的特定排列使用特定的文件摄取动词,则可以在此处停止。

但是这也可能有用:

   nums =: [: , 0 ". 'm' fread ]
   nums 'nrow'
1 2 3 4 5
   (nums 'nrow') -: nums 'ncol'
1

使用,ravel)只会为您提供文件中的数字,但是它们是在文件中排列的,并将所有非数字替换为0(instead of evaluating it

   'a 1 2 b 3' fwrite 'arow'
9
   nums 'arow'
0 1 2 0 3
© www.soinside.com 2019 - 2024. All rights reserved.