レコード構文を使用したデータ型の例を次に示します。
data VmInfo = VmInfo {infoVid :: String
,infoIndex :: Int
,infoPid :: Int
,infoExe :: String
} deriving (Show)
および (vmInfo :: String -> VmInfo) 関数は、vm 名を文字列として指定すると、上記のデータ構造を生成して返します。
VmInfo データ型の個々の部分を抽出する 2 つの方法を見ることができます。
(VmInfo vid _ _ _) <- vmInfo vm
これは単なるパターンマッチです。と ...
vid <- infoVid <$> vmInfo vm
レコード構文コンパイラ生成関数の使用。
質問は簡単です: 好ましい方法はどれですか?
タイピングの量は同じなので、スピードと正確さ/ベストプラクティスを探しています。
パターン マッチングの方が速いと思いますが、レコード構文のポイントは何ですか?
ありがとう。