Запитання з тегом «zipper»

7
Чистіший спосіб оновлення вкладених структур
Скажіть, у мене є наступні два case classес: case class Address(street: String, city: String, state: String, zipCode: Int) case class Person(firstName: String, lastName: String, address: Address) та наступний примірник Personкласу: val raj = Person("Raj", "Shekhar", Address("M Gandhi Marg", "Mumbai", "Maharashtra", 411342)) Тепер , якщо я хочу , щоб оновлення zipCodeв …
124 scala  case-class  zipper 

1
Розуміння, чому Блискавка - це Комонад
Це продовження відповіді на моє попереднє запитання. Припустимо , що мені потрібно відобразити кожен елемент a:Aз List[A]до b:Bз функцією def f(a:A, leftNeighbors:List[A]): Bі генерувати List[B]. Очевидно, що я не можу просто зателефонувати mapза списком, але можу скористатися списком- блискавкою . Блискавка - це курсор для переміщення по списку. Він забезпечує …

3
Комони на блискавках, загалом
Враховуючи будь-який тип контейнера, ми можемо сформувати блискавку (орієнтовану на елементи) і знати, що ця структура є комонадою. Це нещодавно було детально досліджено в іншому запитанні щодо переповнення стеку для наступного типу: data Bin a = Branch (Bin a) a (Bin a) | Leaf a deriving Functor на наступній блискавці …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.