0
HDF5DotNet에서 재생합니다 (http://hdf5.net/ 참조). 말F #을 사용하는 4 차원 배열 이상 - 객체를 초기화 할 수 없습니다.
new 'Type []
new 'Type [,]
new 'Type [,,]
new 'Type [,,]
new 'Type [,,,]
new 'Type [,,,,]
new 'Type [,,,,,]
...
내가 비록 2 차원 배열에 대한
let data = Array2D.create 256 512 4.
let test = H5Array data
쓰기 나는 오류가 발생 : 이런 종류의 생성자를 많이 가지고있는 클래스 H5Array
이
internal error: F# supports a maxiumum .NET array dimension of 4
내 두 가지 질문은 다음과 같습니다.
- 그것은 2D 데이터에서 작동합니까?
- 4 차원 이상의 데이터를 처리하는 방법은 무엇입니까?
답변 해 주셔서 감사합니다. 이'let data = Array.CreateInstance (float.GetType(), [| 1; 2; 3; 4; 5 |])'는 동일한 오류를 발생시킵니다. 어딘가에서이 행동을보고해야합니까, 아니면 그렇게할까요? BTW : 작동하도록 주변에 어떤 문제가 있습니까? 내가 생각할 수있는 유일한 것은 다른 C# 프로젝트를 만들고 생성자를 래핑하는 것입니다. –
F # 컴파일러/언어의 제한 사항입니다 (언어 사양에 따르면 F #은 최대 4 개까지만 지원함). 우리가 야생에서 더 높은 등급의 실제 사례를 만난 것을 상기 한 것은 이번이 처음입니다. 이러한 생성자를 호출하고 F #이 상위 배열을 볼 필요가 없도록하는 몇 가지 정적 메서드를 노출하는 C# 형식의 생성자를 래핑하면 실제로 해결할 수 있습니다. – Brian
설명해 주셔서 감사합니다. 그러나 객체가 더 높은 순위의 생성자를 가지고있을 때 적어도 순위 4에서 항상 작동해야합니다. –