let distance (x:(float * float)): float =
sqrt ((fst x * fst x) + (snd x * snd x))
let getClosestPair (pairs:(float * float) list) =
let mutable closest = (0.0, 0.0)
if List.isEmpty pairs then
(infinity, infinity)
else
closest <- pairs.[0]
for i in pairs do
if (distance i) < (distance closest) then closest <- i
Yukarıdaki işlev, float çiftlerinin bir listesi üzerinden geçer. Her bir çift kartezyen düzlemde bir koordinat gibi davranır. İşlev, kaynağa en yakın çifti bulur. Alttaki for döngüsü bir tür hata üretir.F # hata: Yanlış tür bekleniyor?
"This expression was expected to have type float * float but here has type unit"
Bu hatayı nasıl düzeltirim? if
bloğunda
Wow ... Bunu özlediğime inanamıyorum. Çok teşekkür ederim! – pooperdooper
Endişeye gerek yok. İkinci bir göz seti asla acıtmaz. –