Описание тега either
Either is a type used in functional languages such as Haskell and Scala to represent a value that is one of two parametrized types. In Scala, the Either type is often used as an alternative to scala.Option where Left represents failure (by convention) and Right is akin to Some.
1
ответ
Обработка сбоев с помощью Either -> Где находится трассировка стека?
Я слышал от некоторых людей, что в Scala мы склонны (как и другие функциональные языки) не нарушать поток управления... Вместо этого по соглашению мы возвращаем ошибку в Either Left, Но как мы можем получить след от этого исключения? Сейчас я возвра…
16 сен '12 в 19:22
2
ответа
Как я могу сделать аналог Either?
Компилятор жалуется слева (e): выражение типа Left(List[ServiceError, Nothing]) не соответствует ожидаемому типу Either[E, R] sealed trait ServiceResult[+E <: List[ServiceError], +R ] { def toEither: Either[E , R] = this match { case Success(a) =…
20 фев '15 в 11:16
3
ответа
Разрыв цикла, если любая из функций возвращает Left
В следующем коде мне нужно остановить обработку цикла, если либо either1 или же either2 вернитесь налево, и если это произойдет, то mainFunction должен также вернуться влево. Кроме того, строка возвращается either1.Left или же either2.Left должен бы…
13 апр '18 в 22:30
4
ответа
Как использовать Either внутри для понимания?
У меня есть для понимания, как это: for { (value1: String, value2: String, value3: String) <- getConfigs(args) // more stuff using those values } getConfigs возвращает Either[Throwable, (Seq[String], String, String)] и когда я пытаюсь скомпилиров…
02 янв '19 в 23:34
4
ответа
Разве нет стандартного (Либо) экземпляра монады?
У меня сложилось впечатление, что где-то был экземпляр Either a, но я не могу его найти. Я попытался импортировать Control.Monad, Control.Monad.Instances и Data.Either, как показано module Main where import Control.Monad import Data.Either import Co…
25 фев '11 в 00:21
1
ответ
Работа с будущими типами в Scala
Я немного изо всех сил, чтобы получить это структурировано. Вот что я пытаюсь сделать: def checkResultAndFetchUser(result: WriteResult, encryptedEmail: String): Future[Either[ServiceError, User]] = Future { if (result.code contains 11000) Left(Servi…
24 окт '15 в 13:05
3
ответа
Возьмите первые права из списка в Haskell
Во-первых, у меня есть (бесконечный) список Eithers, который получается так: x :: A ... f :: A -> Either B A ... xs :: [Either B A] xs = iterate (>>=f) (Right x) Список будет содержать несколько Rights (всегда конечное число), а затем то же…
16 окт '12 в 18:28
1
ответ
Ошибка при компиляции печати Любое значение
Я пытаюсь скомпилировать простой фрагмент кода. main = (putStrLn . show) (Right 3.423) Скомпилируйте результаты в следующей ошибке: No instance for (Show a0) arising from a use of `show' The type variable `a0' is ambiguous Possible fix: add a type s…
12 июн '14 в 13:50
2
ответа
Элегантная обработка Scala Future[Either]]
У меня есть тип, форма которого такова: val myType: Future[Either[MyError, TypeA]] = // some value Я знаю, что могу сопоставить шаблон с этим и перейти к типу Right или Left, но проблема в том, что мне придется вкладывать свою логику сопоставления с…
23 окт '15 в 19:04
4
ответа
Использование "Либо" в Haskell
У меня есть два значения, t1 а также t2типа Either String Type, Left-значение используется для обработки ошибок. Эти значения используются в функции, которая возвращает Either String Type, Что я хочу сделать, это проверить, если оба t1 а также t2 яв…
09 июн '11 в 09:27
3
ответа
Использование Eithers с Scala "для" синтаксиса
Насколько я понимаю, Scala синтаксис "for" чрезвычайно похож на монадический синтаксис "do" в Haskell. В Scala синтаксис "for" часто используется для Listс и Options. Я хотел бы использовать его с Eithers, но необходимые методы отсутствуют в импорте…
02 июн '12 в 23:28
4
ответа
Scala Либо карта вправо, либо возврат налево
Можно ли справиться Either аналогично Option? В Option, У меня есть getOrElse функция, в Either я хочу вернуться Left или процесс Right, Я ищу самый быстрый способ сделать это без какого-либо шаблона, как: val myEither:Either[String, Object] = Right…
31 дек '15 в 10:57
1
ответ
Почему Vavr Either не распознает параметр функции map()?
Я пачкаю руки фантастической библиотекой vavr (0.9.2). Вот фрагмент кода, который призван собрать либо: Either<Tuple2<Enum<ReportByTeamExecutionErrors>,String>, List<MayurDAO>> payloadPreparationResult = new ReportByTeamCrite…
06 дек '18 в 12:49
1
ответ
Не удалось сопоставить синоним типа с Either
Я новичок в изучении Haskell. Но не уверен, как Either работает в сопоставлении с образцом. Вот мой код: type Rank = Either Pip Court type Pip = Int type Deck = [Card] data Card = Joker | Card Suit Rank data Court = Ace | Jack | Queen | King derivin…
19 дек '18 в 08:47
1
ответ
Использование бесплатной монады с любым
У меня есть два DSL - EmployeeAction а также ContactAction, Вот мои черты (Действия) Complete Gist: ссылка sealed trait EmployeeAction[R] case class GetEmployee(id: Long) extends EmployeeAction[Either[Error, Employee]] sealed trait ContactAction[R] …
31 авг '17 в 11:08
1
ответ
Есть ли способ составить потенциально неудачные операции в Go?
Большая часть кода, который я читаю, часто встречается по следующей схеме: result1, err := failingOp1() if err != nil { return err } dependingResult, err := failingOp2(result1) if err != nil { return err } // do stuff with dependingResult В функцион…
24 мар '17 в 10:55
1
ответ
Проблема с выходом во вложенном рабочем процессе
Я пытаюсь написать свой собственный конструктор Either как часть моего квеста по изучению выражений вычислений в F#, но я столкнулся с проблемой, которая, по моему мнению, связана с методом Combine. Мой код до сих пор: type Result<'a> = | Fail…
13 ноя '17 в 20:23
2
ответа
Либо Монада: Как собрать все правильные ценности и поработать со всеми из них в конце?
Поэтому я пытаюсь собрать все правильные значения из серии результатов Either и получить их все в конце цепочки для работы над ними. Я также хочу, чтобы цепочка быстро выходила из строя, если одно из значений Either равно Left. Поэтому после прочтен…
08 мар '18 в 17:30
4
ответа
Как проверить Either от Arrow в функциональном стиле
Я хотел бы проверить полученный результат с помощью Either. Давайте предположим, что у меня есть простой пример без @Test fun `test arithmetic`() { val simpleResult = 2 + 2 Assertions.assertEquals(4, simpleResult) } И теперь я завернул результат: @T…
13 фев '19 в 09:01
2
ответа
Использование Either в поиске, где в Haskell нет ключа
Я следую за этим: https://www.schoolofhaskell.com/school/starting-with-haskell/basics-of-haskell/10_Error_Handling И я пытаюсь получить столбец данных из CSV по имени переменной в заголовках, ранее приведенная здесь часть. Вот мой код: import Text.C…
28 дек '18 в 12:24