Треки
/
F#
F#
/
Вправи
/
Людина з лінзами
Людина з лінзами

Людина з лінзами

Складна

Вказівки

Використайте лінзи, щоб оновлювати вкладені записи (це стосується мов із незмінними даними).

Оновлювати поля вкладених незмінних записів доволі дратівливо. Чим глибша структура, тим громіздкіший код для таких випадків. Якщо в нас є, скажімо, особа, яка містить адресу, що має вулицю, а та має номер, то для оновлення номера потрібно створити нову вулицю з новим номером, потім нову адресу з новою вулицею і, нарешті, нову особу з новою адресою. Ми вже заплуталися?

Одне з рішень цієї проблеми - використати лінзи.

Реалізуйте кілька функцій доступу до записів за допомогою лінз. Набір тестів також дозволяє нам взагалі обійтися без лінз, щоб ми могли поекспериментувати з різними підходами.

Підказки

  • У цій вправі передбачено використання бібліотеки Aether, яка додає до F# функціональність lenses. За допомогою lenses можна досить легко читати або оновлювати вкладені структури.
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
F# Exercism

Час розпочати Людина з лінзами?

Зареєструйтеся на Exercism, щоб вивчати й опановувати F#, а також 18 концепцій148 вправ та справжнє наставництво від людей, і все це безкоштовно.