Описание тега vavr
Вопросы о библиотеке функционального программирования Vavr (ранее известной как Javaslang).
1
ответ
Использование локальных неизменяемых коллекций Vavr внутри лямбды Java 8
Учитывая фрагмент кода ниже, как бы я использовал неизменяемые списки или потоки Vavr? Я не могу как локальная переменная, так как нет способа пометить ее как окончательную. Я не хочу рекламировать List<CurvePoint> points к ученику. import io.…
12 дек '17 в 23:21
1
ответ
javaslang List.of() на экземпляре cdi
У меня есть несколько классов с Qualifier, который я создал: @ServiceComponent(restPath = "/trucks") public class TruckService { } @ServiceComponent(restPath = "/cars") public class CarService { } вот классификатор (не важно для вопроса) @Qualifier …
22 дек '16 в 06:36
1
ответ
Выполнение побочных эффектов в Вавре
Я просматриваю раздел Руководства по использованию Vavr о выполнении побочных эффектов с помощью Match и другого "синтаксического сахара", как они его называют. Вот пример, приведенный там: Match(arg).of( Case($(isIn("-h", "--help")), o -> run(th…
06 фев '18 в 04:07
3
ответа
Как вернуть первое возникшее исключение?
Есть метод validate, который в качестве входных данных принимает экземпляр Option и Predicate - два аргумента (да, я знаю Option должны быть переданы в качестве аргумента, но это упрощенный сценарий реального мира здесь. Сейчас если Option пусто мне…
16 ноя '17 в 20:31
1
ответ
Почему Vavr Either не распознает параметр функции map()?
Я пачкаю руки фантастической библиотекой vavr (0.9.2). Вот фрагмент кода, который призван собрать либо: Either<Tuple2<Enum<ReportByTeamExecutionErrors>,String>, List<MayurDAO>> payloadPreparationResult = new ReportByTeamCrite…
06 дек '18 в 12:49
1
ответ
Кажется, что вывод типа не работает vavr Try работает с функцией fetchOne() в jOOQ
Я использую vavr и jOOQ, две фантастические библиотеки, появившиеся в последнее время, что позволяет нам использовать функциональные диалекты в обычных приложениях на Java-сервере. Я пытаюсь использовать jOOQ, что эквивалентно количеству выбора SQL …
13 дек '18 в 11:47
1
ответ
Джексон - @JsonCreator возвращает дженерики
Я хочу интегрировать библиотеку проверки vavr в мою команду dto таким образом, чтобы при десериализации команды dto из запроса тип возвращаемой статической фабрики был Try, но Джексон выбрасывает следующую ошибку: Ошибка определения типа: [простой т…
24 дек '18 в 21:38
1
ответ
Мемоизация с Вавром кажется незаметной
Когда функция определяется следующим образом static Function1<BigInteger, BigInteger> fibonacci = Function((BigInteger value) -> value.equals(BigInteger.ZERO) ? BigInteger.ZERO : value.equals(BigInteger.ONE) ? BigInteger.ONE : value.equals(…
02 ноя '17 в 19:29
1
ответ
Как правильно реализовать это с помощью Vavr?
Я хотел бы получить ваш совет о том, как правильно написать этот код на функциональном пути: private Option<CalcResult> calculate(Integer X, Integer Y) { if (X < Y) return Option.none(); return Option.of( X + Y ); } public Option<CalcRes…
09 янв '19 в 15:43
2
ответа
Был ли удален vavr io.vavr.API в версии 1.0.0-alpha-2?
Я изучал использование превосходной функциональной библиотеки vavr // https://mvnrepository.com/artifact/io.vavr/vavr compile group: 'io.vavr', name: 'vavr', version: '0.9.2' // https://mvnrepository.com/artifact/io.vavr/vavr-match compile group: 'i…
15 фев '19 в 09:10
1
ответ
Как кэшировать инструментированный класс с помощью экспедитора экземпляров?
Вариант использования - реализовать грязный полевой трекер. Для этого у меня есть интерфейс: public interface Dirtyable { String ID = "dirty"; Set<String> getDirty(); static <T> T wrap(final T delegate) { return DirtyableInterceptor.wrap…
04 май '17 в 13:30
1
ответ
Проходить цепочку объектов рекурсивно в функциональном стиле
Обычный цикл в стилях императивного кодирования состоит в том, чтобы следовать цепочке объектов, чтобы найти конец, например: private ThreadGroup rootOf(ThreadGroup leaf) { ThreadGroup rootGroup = leaf; ThreadGroup parentGroup; while ((parentGroup =…
18 ноя '17 в 00:29
1
ответ
Eclipse помечает (рабочий) код как ошибку компиляции и не будет работать
У меня есть довольно сложный код, который использует Javaslang. Если я соберу его в банку, он будет работать нормально. Однако, когда я пытаюсь войти в него в Eclipse для отладки, Eclipse помечает его как ошибку компиляции и умирает, когда он достиг…
15 июн '17 в 14:43
3
ответа
Как перевернуть опцию<Try <Foo >> в Try<Option <Foo >>
У меня есть Try<Option<Foo>>, я бы хотел flatMap Foo в Bar, используя его, используя операцию, которая может потерпеть неудачу. Это не сбой, если мой Option<Foo> является Option.none(), (и Try был успехом) и в этом случае делать не…
31 мар '18 в 01:27
0
ответов
Javaslang Option.nothing()
Недавно я начал читать о Javaslang и его улучшениях для классов, добавленных в Java 8. Окунувшись в документацию, я наткнулся на следующий метод: Option.nothing() Который возвращает экземпляр синглтона типа Option<Void>, Однако я не мог придум…
28 апр '17 в 18:55
3
ответа
Вавр с дженериками выдает несовместимые типы
Может ли кто-нибудь объяснить, почему этот код: interface Lol { default Try<Seq<? extends Number>> lol() { return Try.of(List::empty); } } class LolImpl implements Lol { @Override public Try<Seq<? extends Number>> lol() { ret…
26 окт '18 в 12:18
3
ответа
Как реализовать этот вложенный поток с опциями?
У меня есть метод, который принимает String в качестве входных данных, а также должен возвращать String, Следующее ASCII искусство представляет логический поток: Option<A> optA = finder.findA(input); optA /\ isEmpty() / \ isDefined() / \ "ERR_…
17 ноя '16 в 16:05
2
ответа
Есть ли лучший способ регистрировать сбои в цепочке предложений Java Vavr Try?
Я пытаюсь войти на каждом этапе сбоя, и, насколько я могу судить, мне нужно вложить попытку и войти в плоскую карту. Try.of(() -> true). onFailure(h -> System.out.println("first onFailure")). flatMap(i -> Try.of(() -> { throw new Runtime…
27 авг '18 в 19:55
3
ответа
Преобразование массива в карту Javaslang с количеством для каждого типа
В настоящее время я смотрю на библиотеку Javaslang и пытаюсь преобразовать часть своего кода в Javaslang. В настоящее время у меня есть этот кусок кода, который все чисто Java Cell[][] maze; //from input Map<Cell, Long> cellCounts = Stream.of(…
01 мар '17 в 15:09
2
ответа
Почему этот конвертер нуждается в кастинге?
Мне нужно реализовать преобразователь перечисления в перечисление в Java: Enum_2 > Enum_1 и я хотел бы сделать это в общем виде. Итак, я определил интерфейс: interface LabelAware<T extends Enum> { String getLabel(); T getObject(); } а также En…
05 ноя '16 в 15:20