问题标签 [vavr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Vavr:如何在可选对象中进行平面图集合
是否有任何最简单的方法可以在下面编写此代码,而不使用toStream()
?
java - Vavr 对象的序列化器/反序列化器
您好我正在尝试将 vavr 添加到我的项目中,现在我正在努力正确序列化 Vavr.List 对象。下面是我的控制器:
EntityDeleted 是我的自定义对象,List 是 Vavr 集合,如导入语句中所示。我在邮递员中得到的回应是:
我期望我的对象的 JSON 列表。下面是我的配置:
和一点 pom.xml
mongodb - 通过来自 mongo db 的 spring data rest 检索 vavr 集合不起作用
我创建了一个小型 Spring Boot 项目,通过包含 Seq(vavr 集合)的 spring data rest 从 mongoDb 检索示例对象。启动应用程序后立即不起作用。起初我必须进行插入,然后它可以调用 repo 的 rest 端点。
来自日志的错误消息
听起来必须注入一些映射器,这些映射器在插入新条目后会自动注入(或者可能是一些延迟加载......)
可以在此处找到示例:https ://github.com/renne-b/spring-rest-demo
得到一个提示缺少什么会很棒。
一些细节:
- 最新的 Spring Boot 里程碑:2.0.0.M3
- 我在 ObjectMapper 注册了 VavrModule
- @EnableMongoRepositories(basePackages = "我的课程路径")
java - 如何使用 Vavr(以前称为 Javaslang)库捕获特定的运行时异常?
我正在尝试捕获特定的运行时异常(因此不可抛出)并记录它(log.error 具有 void 返回类型)。在 vavr 中执行此操作的最简单方法是什么?
我努力了
我得到:
错误的返回类型 void 无法转换为 Void
如果 .recover 不是正确的方法,请建议我可以捕获我的一个特定异常但不是 Throwable 的替代方法,因为它可以捕获所有异常和错误。
java - 使用 Vavr 模式匹配将 Option 转换为 Try,无法识别的值失败
假设我有两个接口,A
并且B
. A
有三个已知的实现,A1
,A2
和A3
; B
具有三个对应的具体包装类,B1
,B2
和B3
,使得构造函数B1
接受一个A1
,B2
接受一个A2
,等等。
我有一个返回 an 的方法,Option<A>
我想将它转换为 a Try<Option<B>>
,如果它A
是已知实现之一(或None
),它将与相应的B
实现一起包装为 a Success<B>
,否则它是 a Failure
。我目前拥有的是这样的:
这似乎是不必要的可怕。有什么方法可以让我平面化吗?
java - 使用 Vavr 进行记忆似乎不一致
当函数定义如下
并叫
它计算得非常快。但是,如果我memoized()
按如下方式移动 to 函数变量
并叫
memoized()
就像没有应用一样需要很长时间。
这可能是什么原因?
java - 如何返回发生的第一个异常?
有一个称为 validate 的方法,它作为输入接受一个实例Option
和一个Predicate
- 两个参数(是的,我知道Option
应该作为参数传递,但这是简化的现实世界场景。现在,如果Option
是空的,我需要抛出NotFoundException
。当它有一个与传递的值不匹配的值,Predicate
它应该失败,ForbiddenException
如果它有值并且它与谓词匹配,则不会发生任何事情。
所以这将是:
我有一些解决方案,但希望潜在的回答者清楚地回答这个问题;)如果两个测试都失败,我的问题是第一个例外。如果我可以期待任何东西,我期待一个优雅的解决方案;)允许所有 vavr 存在(Either
,,,Validation
.. Try
)
其中一个想法是使用 double Option
:
但这似乎有点尴尬。
这里可以找到示例项目。
java - 除非内联 lambda 表达式,否则 Javac 无法推断类型
我有以下使用 Vavr 的 Java 代码片段。除非我内联参数,否则类型检查会失败。
为什么下面的代码不能被编译器接受?
以下是 Vavr 库中展开的方法签名:
这里是 Github 文档的链接:
java - 以函数式递归遍历一系列对象
命令式编码风格中的一个常见循环模式是遵循一系列对象来找到结尾,例如:
(来自这个答案)
我觉得必须有一个标准的功能模式在逻辑上与此等效,但我不确定它是什么。我想出了下面使用Vavr 的Option
递归方法:
但似乎应该有一种方法可以在没有显式递归的情况下做到这一点,尤其是在像 Java 这样没有尾调用优化的语言中(我在想象一些类似于foldLeft()
但在迭代计算的价值流上的东西,如果这有任何意义的话?)
这里的标准功能方法是什么?