我可以使用focus和index来修改 Map 就好了。 Monocle中是否有类似的功能来更新给定索引处的序列? 错误是Could not find an instance of Index[IndexedSeq[C],Int,A1] 。 Monocle 是否可以使用此类功能? 我之前使用at ...
我可以使用focus和index来修改 Map 就好了。 Monocle中是否有类似的功能来更新给定索引处的序列? 错误是Could not find an instance of Index[IndexedSeq[C],Int,A1] 。 Monocle 是否可以使用此类功能? 我之前使用at ...
我有一个元组列表(我们称之为L1 ),在这个元组中_1是一些带有数据的 class ,而_2是一个带有其他数据的其他类的列表(我们称之为L2 )。 对于L1的每个条目(即元组列表),我需要将L2的每个条目与相应的_1合并。 我正在尝试构图,但卡住了。 这是一个代码片段来演示我想要实现的目标: 我想做 ...
(编辑我正在使用monocle-ts ,但如果使用monocle-ts是不可能的(因为作者甚至说它只是原始 Monocle for Scala 的部分端口)但是如果在任何语言的另一种光学包中有一些东西,我愿意将这些想法移植到 TypeScript。) 假设我有一个辅助类型Partial<A ...
我正在尝试创建一个带有嵌套案例类和序列的 Monocle 镜头。 编译在最后一行失败。 我正在使用 Monocle 1.5.0-cats。 PS:用List[B]替换Seq[B]有效,但我的案例类是由 scalaxb 生成的,它使用序列。 ...
许多类型的光学器件都有 van Laarhoven 表示。 例如,一个Lens Lens stab类型的 Lens 可以表示为: 类似地,一个Traversal可以用类似的方式表示,将Functor约束交换为Applicative : 一些光学框架,例如Monocle和Arrow定义了一种称为Opt ...
大学示例解释了如何添加和删除地图项: 但是,这不适用于列表: 添加什么都不做,删除会引发编译错误。 编辑:现在,我使用quicklens ,它能够修改序列。 ...
我已经看到了更新Map的官方示例 ,但我遇到了语法问题。 我想更新labels Map的关键“app”。 但我无法得到以下内容进行编译: 事实上,这个答案由Monacle的作者之一不能编译。 ...
Monocle是一个很棒的库(而不是唯一一个)实现镜头模式的库,如果我们必须在巨大的嵌套对象中更改一个字段,这是很棒的。 例如http://julien-truffaut.github.io/Monocle/ 以下样板 可以轻松更换 哪个好。 据我所知,宏魔术将所有内 ...
使用Monocle,我可以定义一个Lens来毫无问题地读取case类成员, 这可以用来比较两个对象之间的md5值,并且在值不同时失败,并显示一条错误消息,其中包括字段名称。 有没有一种方法可以仅由Lens产生用户友好的字符串,以识别Lens正在读取的视场? 我想避免明确提供字段名 ...
我有一个使用默认值创建的嵌套案例类的结构: 我想用默认值创建整个东西,然后使用Monocle特别修改需要非默认的元素。 使用isos很容易。 我可以使用组合来指定导航,然后使用set修改内部元素: 不幸的是,使用prims似乎并不优雅,因为set / modify仅在定义 ...
我正在阅读Diode ,它让我想到Monocle / Scalaz 中的镜头: 如果我(有条件地)使用Monocle / Scalaz镜头深入修改深层嵌套数据结构的某些部分并想比较是否有更改,是否需要进行深度比较,或者是否有使用引用相等的方法查看两个数据结构(有条件修改之前和之后)是否相同? 换 ...
我正在尝试解决以下Scala编译器错误。 在(伪)-Haskell(不带子类型)中,这类似于: 目前,我正在研究ScalaZ,Shapeless和Monocle。 乍一看,Monocle似乎毫无疑问(虽然不确定),如果我的直觉是错误的,请证明我错了。 ScalaZ + ...
在代码出现的第12天 ,我通过使用scala中的镜头库monocle重构了代码。 是否可以改善此代码: 这是另一种尝试,将每个字段的修改分开 还有一个问题:是否可以将Map.withDefaultValue与monocle一起使用? 完整的代码在这里: https : ...
我是第一次尝试单片眼镜。 这是案例类: 并且我想使用标准scala进行当前的修改: 这是我用单片眼镜实现的 不幸的是,代码并不清晰...... 有更简洁的方法吗? 我们能用宏生成所有样板吗? [更新]我想出了一个组合器 问题是我仍然 ...
我试图弄清楚如何使用applyOptional。 我有这个: 但是编译器告诉我“无法解析符号applyOptional”。 我导入ApplyOptionalOps._只是为了确认我的导入正确。 ...
鉴于以下代码: 我如何从选择中“过滤”出某些Person ,不是通过索引而是通过Person的特定属性,例如: 我只找到了filterIndex函数,它只包含基于索引的列表中的元素,但这不是我想要的。 filterIndex接受一个函数类型: (Int => Boolean) 我 ...
我想尝试一下镜头,从我那些@Lenses角度来看,Monocle库似乎很不错(从我的笨拙角度来看),所有这些没有样板的@Lenses 。 不幸的是,我发现对于初学者来说几乎没有学习资料(我知道香草Scala中的FP基础知识,没有Scalaz)。 官方教程缺少简单的示例(和/或其结果),并且在 ...
假设我有一对转换函数 我可以使用Optics轻松地代表这些。 stringIntPrism :: Prism String Int 但是,如果我想表示失败原因,我需要将它们作为两个单独的函数保留。 对于这个简单的例子, Maybe非常好,因为我们总是可以假设失败是一个 ...
给定monocle项目中的JsonExample ,我想创建一个镜头,在其中set调用将替换键/值对中的值,或者如果键/值对尚不存在则创建键/值对。 但是,这似乎用一个索引(可以组成安全类型)或一个不表示安全类型的at表示。 我有可能吗? 我还可以扩展它,例如,如果年龄嵌套在另 ...
是否有一些带有签名的函数,例如 使用语义运行所选部分的修改并获得结果 一种实现可能是 但是如果有更直接的方法使用monocle或scalaz.Lens呢? ...