9

私はかなり新しい Haskell プログラマーで、いくつかの値を代数データ型に変換する方法を理解しようとしています。

私はレコードデータ型を持っています:

data OrbitElements = OrbitElements { epoch :: Double,
                                     ecc :: Double,
                                     distPeri :: Double,
                                     incl :: Double,
                                     longAscNode :: Double,
                                     argPeri :: Double,
                                     timePeri :: Double,
                                     meanMotion :: Double,
                                     meanAnomaly :: Double,
                                     trueAnomaly :: Double,
                                     semiMajorAxis :: Double,
                                     distApo :: Double,
                                     period :: Double
                                   }

Doubles のリストになるテキスト ファイルからいくつかの情報を取得しています。このデータ型をリストで初期化する簡単な方法はありますか? 各セッターを個別に呼び出すこともできますが、リストにすべての値が既にある場合、それは非常に非効率的です。

let d = [2456382.5,6.786842103348031e-3,0.7184187640759256,3.394660181513041,76.64395338801751,55.2296201483587,2456457.141012543,1.602144936476915,240.4142797010899,239.7408018186761,0.7233278761603762,0.7282369882448266,224.6987721295883]
let o = OrbitElements
let epoch o = d !! 0
let ecc o = d !! 1
-- and so on

私は何が欠けていますか?

4

4 に答える 4