FDX デモを試してみたいと思っていましたが、互換性の問題により一連のエラーと警告が表示されたため、正しく動作するように努めてきました。完全なコードはPastebinにあります。
ここのコードに問題があります:
let drawSurf f (device:Device) =
let m,n = meshDims !mesh in
let data = Array.init (n*m) (fun k ->
let i,j = k2ij !mesh k in
let x,y = meshGet !mesh (i,j) in
let z = f (x,y) in // single precision f
(x,y,z))
in
let strips = triangleRows n m |> map (map (blendPlace !mesh data)) in
List.iter (fun strip -> drawTriangeStrip strip device) strips;
let m,n = meshDims !mesh in
let lines = gridLines n m in
let lines = lines |> map (colorPlace !mesh data Color.Black) in
drawLineList lines device
F#インタラクティブで次のエラーが表示されます。
motion-sample.fs(438,53): エラー FS0001: タイプが一致しません。
((('a * 'b) list -> 'c) * (('a * 'b) list -> 'd)) refが必要
ですが、
(float [,] * float [,]) ref が指定されています。
タイプ '('a * 'b) list -> 'c' はタイプ 'float [,]' と一致しません
助けてくれてありがとう!