Разве вы не можете использовать Array.min , чтобы найти минимальный элемент, как показано ниже:
let numbers =[|1..10|]
printfn "%A" (numbers |> Array.min)
Приходя к вашей программе, вы должны использовать что-то вроде:
let getArrayMinValue (a : int[]) =
а не a: Array
Вы можете даже сделать a: 'T[]
, но, поскольку вы сравниваете значение элементов с временным значением, оно, вероятно, ограничит его значением int.
Приход к другой ошибке, сделайте временную переменную: let mutable temp = 0
и присвойте значение, используя оператор <-
.Вот весь ваш код:
let mutable temp = 0
let getArrayMinValue (a : 'T[]) =
if a.Length > 0 then (
for i = 0 to a.Length do
temp <- ( if temp > a.[i] then a.[i] else temp )
)