Публикации по теме 'lenses'


Расшифровка сообщений об ошибках объектива, часть 1
Расшифровка сообщений об ошибках объектива, часть 1 Знаменитая библиотека Haskell lens , на мой взгляд, является одним из его преимуществ как языка. Это дает возможность получать доступ, изменять и запрашивать глубоко вложенные структуры данных с эффективностью, которая дает прямой доступ к свойствам в стиле ООП foo.bar.baz = “qux” с точками и прямо в нирвану программирования. Однако научиться использовать lens может быть нелегко, хотя существует множество отличных вводных..

Вопросы по теме 'lenses'

Заставить одну функцию работать со списками, ByteStrings и Texts (и, возможно, с другими подобными представлениями)
Я пишу функцию, которая выполняет поиск в последовательности произвольных символов. Я хотел бы сделать его достаточно общим, чтобы он работал со списками, Foldable , а также с ByteString и Text . Обобщить его до Foldable просто. Но как...
633 просмотров
schedule 04.01.2024

Data.Lens или Control.Lens
Возможный дубликат: линзы, fclabels, data-accessor - какая библиотека для доступа к структурам и мутации лучше Я собираюсь использовать и изучить пакет Lens в своем следующем проекте на Haskell. Я почти определился с пакетом...
1266 просмотров
schedule 03.01.2024

Как совместить линзы и функторы?
Я пытаюсь привыкнуть к библиотеке lens для Haskell и обнаруживаю, что борюсь с некоторыми простыми проблемами. Например, скажем (для удобства), что at и _1 имеют следующие типы (по крайней мере, я их так понимаю): at :: Ord k => k ->...
196 просмотров
schedule 15.05.2024

Каков синтаксис для составления сеттерных линз?
Я новичок в объективе и хочу составить две операции "установщика", которые будут эквивалентны этому преобразованию state0 в new_state2: let new_state1 = field1 %~ (const newVal1) $ state0 let new_state2 = field2 %~ (const newVal2) $...
286 просмотров
schedule 05.03.2024

Как получить классные линзы с перегруженными именами полей?
Я пытаюсь создать линзы для записей с одинаковыми именами полей. Наряду с этим я пытаюсь «обернуть/расширить» эти базовые записи и хочу, чтобы те же имена полей работали для обернутых/расширенных записей (что, как я полагаю, делают стильные линзы)....
371 просмотров
schedule 01.04.2024

Использование Lens в классе без регистра, расширяющем что-то с помощью конструктора в Scala
Я, вероятно, думаю об этом неправильно, но у меня возникают проблемы в Scala с использованием линз в классах, расширяющих что-то с помощью конструктора. class A(c: Config) extends B(c) { val x: String = doSomeProcessing(c, y) // y comes from...
86 просмотров
schedule 03.12.2023

Обновите глубоко вложенный класс case с помощью параметров
У меня есть трехуровневая вложенная модель класса case с кучей опций, которая представляет некоторые данные в базе данных. Это по существу: case class User(settings: Option[Settings]) case class Settings(keys: Option[List[KeySet]]) case class...
490 просмотров
schedule 27.05.2024