正如标题所说,我必须创建可以接受数组作为参数的类。
这是我当前版本的头文件:
const Utils = {
isSomeMethod: function (a: INodeType, b: INodeType) {
// Some logic
},
_nodeCheck: function (this: {node: INodeType, nn: INodeType}, n: INodeType) {
// This as the type specified above and is checked.
return (n !== this.node && Utils.isSomeMethod(n, this.nn));
},
...
}
let node!: INodeType;
Utils._nodeCheck(node) // not allowed this (aka Utils) is not assignable to {node: INodeType, nn: INodeType}
截至目前,我收到以下错误:
'$ S1':全局或静态变量可能没有托管类型 'cli :: array ^'
如果我将我的数组更改为静态,我会得到:
“A1”不是“MyClass”类的非静态数据成员或基类
Class必须有两个构造函数。我可以接受带矢量的解决方案,但我遇到的问题几乎相同。
答案 0 :(得分:1)
这是我在将数组的初始化移动到构造函数时的意思:
import numpy as np
from collections import Counter
ar = np.array([[0,0],[1,1],[2,4],[4,6],[2,2],[3,7],[1,9],[4,16],[5,1],[5,2],[0,0], [20,0]])
repeated = [item for item, count in Counter(ar[:,0]).iteritems() if count > 1]
non_repeated = [item for item in range(len(ar)) if item not in repeated]
new_arr = []
for element in repeated:
new_arr.append(np.sum(ar[np.where(ar[:,0]==element)],axis=0))
new_arr = np.asanyarray(new_arr)
new_arr[:,0] = new_arr[:,0]/2.
new_arr = ar[non_repeated]