または動的長さの同様のデータ構造。配列に簡単にキャストできます。私が見つけた唯一の回避策は、配列を文字列として入力して手動で解析することです。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]ディメンションの両方で1回限りのコストであるため、実際の量的なコスト/報酬メトリック関数も明示的に明示してください。すでに実行可能な構成可能な入力の概念を解決するための2つのアプローチを比較してください。 – user3666197
この時点で私はChapelの機能を実験しています。コマンドラインを使って配列を入力して、コマンドラインの多項式補間スクリプトなどを作ることができるかどうかを知りたいだけでした。 Chapelの設定ファイルベースのアプローチはどのように見えるでしょうか? – uqtredd1