В F# цикл — это важная концепция, используемая для перебора коллекций или выполнения повторяющихся задач. F# предлагает несколько методов реализации циклов, каждый из которых имеет свои уникальные преимущества и варианты использования. В этой статье мы рассмотрим несколько методов циклов в F#, приведя попутно примеры кода.
- Цикл for…in:
Цикл for…in позволяет перебирать набор элементов. Он похож на цикл foreach в других языках.
let numbers = [1; 2; 3; 4; 5]
for number in numbers do
printfn "Number: %d" number
- Цикл while:
Цикл while позволяет выполнять блок кода повторно, пока указанное условие не станет ложным.
let mutable counter = 0
while counter < 5 do
printfn "Counter: %d" counter
counter <- counter + 1
- Функция Array.iter:
Функция Array.iter применяет заданную функцию к каждому элементу массива.
let numbers = [|1; 2; 3; 4; 5|]
Array.iter (fun number -> printfn "Number: %d" number) numbers
- Функция Seq.iter:
Функция Seq.iter аналогична Array.iter, но работает с последовательностями, а не с массивами.
let numbers = seq { 1..5 }
Seq.iter (fun number -> printfn "Number: %d" number) numbers
- Функция List.iter:
Функция List.iter применяет заданную функцию к каждому элементу списка.
let numbers = [1; 2; 3; 4; 5]
List.iter (fun number -> printfn "Number: %d" number) numbers
- Рекурсивные функции.
В F# можно реализовывать циклы с помощью рекурсивных функций. Этот подход полезен для сложных сценариев зацикливания.
let rec loop counter =
if counter < 5 then
printfn "Counter: %d" counter
loop (counter + 1)
loop 0