2点間の距離を求める
> // R = √(x1 - x0)^2 + (y1 - y0)^2 #r "System.Drawing" open System.Drawing let len (p0 : PointF) (p1 : PointF) = sqrt <| (p1.X - p0.X) + (p1.Y - p0.Y) len (new PointF(X = 2.0f, Y = 5.0F)) (new PointF(X = 5.0f, Y = 10.0F)) |> printfn "距離 %f";; --> 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll' を参照しました 距離 2.828427 val len : System.Drawing.PointF -> System.Drawing.PointF -> float32 >
いちいち PointF のインスタンスが必要になるのは使いにくい気も……あっタプルでいいのか!
> // R = √(x1 - x0)^2 + (y1 - y0)^2 let len (x0 : float , y0 : float) (x1 : float, y1 : float) = sqrt <| (x1 - x0) + (y1 - y0) len (2., 5.) (5., 10.) |> printfn "距離 %f";; 距離 2.828427 val len : float * float -> float * float -> float >
すっきり。