SMLのリストとのパターンマッチングに問題があります。私は2x2の実数行列('a list list
として定義)をとり、複合体(real * real)
を作成する関数を作成しようとしています。行列は、各リストが行であるリストのリスト(実数で作られたリスト)としてフォーマットされます。私は一致をパターン化しなければならないことを知っていますが、私は実際のコードに私の理解をどのように実装するのかは分かりません。私のコードは、これまでのところです:SML/NJでリスト/パターンマッチングを使用
fun fromMatrix ((a::M):real matrix) : complex = (hd a, tl M);
私はこのエラーを得続ける:real matrix
(またはreal list list
)を入力している(a::M)
ので、もし
stdIn:1.5-13.32 Error: right-hand-side of clause doesn't agree with function result type [tycon mismatch]
expression: real * real list list
result type: complex
in declaration:
fromMatrix =
(fn <pat> :: <pat> : real matrix => (hd <exp>,tl <exp>): complex)
ええ、私は間違って挿入表記を使用していたことを認識していませんでした。ありがとう! – deedex11