К основному контенту

Сообщения

Сообщения за декабря 8, 2017

Отличия F# от C#

В предыдущем посте я опубликовал сравнительную реализацию алгоритма поиск индекса элемента в массиве, код на C# и D получился простой и элегантный. Несколько попыток реализации на F# аналогичной функции отняли больше времени, но показали, что это возможно, но для этого необходимо понимать назначение языковых конструкций. Классическое императивное программирование в F# недоступно. Тем не менее если изучить язык более глубоко, то можно писать неплохой код. Ключевая концепция функционального программирования, на мой взгляд, данные как поток значений. Следовательно, и обрабатываются данные не как переменные в C#, а как массивы, последовательности или, просто, списки. (*Реализация алгоритма поиска позиции элемента  в массиве методом перебора на языке F#*) let findIndexes ( arr : int [], e : int ) = seq { for i = 0 to arr . Length - 1 do if arr .[ i ] = e then yield i } let findFirstIndex ( arr : int [], e : int ) = findIndexes ( ar...