Изучение различных методов циклов в F#

В F# цикл — это важная концепция, используемая для перебора коллекций или выполнения повторяющихся задач. F# предлагает несколько методов реализации циклов, каждый из которых имеет свои уникальные преимущества и варианты использования. В этой статье мы рассмотрим несколько методов циклов в F#, приведя попутно примеры кода.

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