F # функция
Проблема:
с учетом списка предметов, например ::100100
["5";"10";"2";"53";"4"]
и поисковый индекс. Мне нужна функция, которая сравнивает текущий заданный индекс со своим соседом, возвращая самый большой индекс
Пример:
- Данный индекс 1 вернет значение индекса 2 (потому что 10 больше 5).
- Если индекс 4 вернет индекс 4 (потому что 53 больше 4)
В настоящее время это моя функция. Не компилируется:
let GetMaxNode (x:Array) Idx = if x.[Idx] > x.[Idx+1] then Idx else If x.[Idx] < x.[Idx+1] then Idx+1
Ошибки, которые я получаю для всех х ':
The field, constructor or member 'Item' is not defined (FS0039)
А также второй If:
The value or constructor 'If' is not defined (FS0039)
Я подозреваю, что все еще думаю процедурно, я думал об использовании сопоставления с образцом, однако я не был достаточно уверен в синтаксисе, чтобы попробовать это.
Пожалуйста, не могли бы вы также объяснить и ответ , так как я пытаюсь выучить F #, только решение мне не сильно поможет.