또는 동적 길이의 유사한 데이터 구조. 배열에 쉽게 캐스트 할 수 있습니다. 유일한 해결 방법은 배열을 문자열로 입력하고 수동으로 파싱하는 것입니다.config로 배열을 선언 할 수 있습니까?
config var not_array: string = '[1,2,3,4,5]' ;
proc main() {
// config array workaround
writeln("I am string. Definitely not array ", not_array) ;
// parse string
not_array = not_array.replace(' ','') ;
not_array = not_array.replace('[','') ;
not_array = not_array.replace(']','') ;
var still_not_array = not_array.split(',') ;
// prepare array
var dom = 0..#still_not_array.size ;
var array: [dom] real ;
// populate array
for (i, x) in zip(dom, still_not_array) {
array[i] = x:real ;
}
writeln("Ha! Tricked you, am actually array ", array) ;
}
이 방법은 의도 한대로 작동하지만 더 좋은 방법이 있습니까?
하나는 항상 구성 파일에서 (흐르는 등의 구성, 파이프 라인 구성 계산의 일반적인 단계) 자리를 차지할 입력을 정렬 할 수 있습니다. 다른 대안의 퍼지하지만 중요한 (더 나쁜 | 더 나은 | 최상의) 정도에 대한 실제 기준을 설명해 주시겠습니까? 컴파일 후 초기 단계는 프로세스 실행의 [TIME] 및 [SPACE] 차원 모두에서 일회성 비용이므로 항상 실제 양적 비용/보상 - 메트릭 함수도 명시해야합니다. 런타임에 구성 가능한 입력의 개념을 해결하기 위해 두 가지 방법을 비교해보십시오. – user3666197
이 시점에서 저는 채플의 특징을 실험하고 있습니다. 커맨드 라인 다항식 보간 스크립트를 만들기 위해 명령 행을 통해 배열을 입력하는 것이 가능한지 알아보기 위해 관심이있었습니다. Chapel의 구성 파일 기반 접근 방식은 어떻게됩니까? – uqtredd1