Обновить
2
0

Системный аналитик, специалист по созиданию

Отправить сообщение
\lambda^2

это коэффициент температуропроводности, а не теплопроводности.

Но при этом следует иметь в виду, что если применения "записаны" через основной оператор применения, то сначала вычисляются все параметры, а затем происходят применения. В следующем выражении

функция ( выражениеДляПараметра1 ) ( выражениеДляПараметра2 )

сначала будут вычислены ( выражениеДляПараметра1 ) и ( выражениеДляПараметра2 ), а затем функция будет применена к результату выраженияДляПараметра1, после чего результат этого применения будет применён к результату выраженияДляПараметра2.

Проверить это можно только на функции с побочными эффектами с одним параметром, которая также выдаёт функцию с побочными эффектами и с одним параметром.

Однако остальные операторы применения не обладают таким свойством:

функция ( выражениеДляПараметра1 ) <| ( выражениеДляПараметра2 )

Здесь выражениеДляПараметра2 будет вычислено лишь после применения функции к результату выраженияДляПараметра1 .

Мне кажется, синтаксис этого языка проще освоить, если принять, что в языке не поддерживаются применения функции к нескольким параметрам сразу. Всегда применяется только к одному параметру, но потом результат применения может быть применён к следующему параметру (а может и не быть).

Хорошо, когда язык позволяет избежать придумывания "одноразового" имени. Тем не менее благодарю за предложенные имена.

Но bash сложнее, гораздо сложнее :). А в F# всё логично и просто.

Кстати, вместо (fun i -> i) можно воспользоваться функцией id.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Системный аналитик, Аналитик по данным
Ведущий
От 420 000 ₽
SQL
.NET