问题标签 [lenses]
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.
jquery - Jquery Image Lens - Kinetic JS 图像 id
我正在尝试在 Kinetic JS 画布http://jsfiddle.net/user373721/7f8qM/15/上使用 jquery 图像镜头。我面临的挑战是如何在画布中找到图像的 id,我尝试过:
没有运气,我会很感激你的建议,在此先感谢。
haskell - 如何使用 Control.Lens 更新列表的第 i 个元素?
我有一些数据类型
使用 Control.Lens,我可以像这样访问第 i 个内部(在“状态外部”单子内)的 _bool
我也希望能够用类似的东西更新这个值
但是(根据我的理解),“to”函数只创建一个 getter,而不是一个可以用作 getter 或 setter 的真正镜头。
那么,如何将 (!! i) 转换为允许我更新此字段的镜头?
list - 如果列表的元素符合某些条件,则更改列表元素,如果不符合,则使用 Data.Lens 添加新元素
我有一个记录列表,需要一个函数来搜索列表以查找具有给定名称的记录并修改此记录的值,或者如果没有记录匹配,则将新记录附加到结果列表中。到目前为止,这是我的代码:
它工作正常,但我想知道是否有更直接的方式来编写这个使用Data.Lens
(没有if
-construct)?另外,我是否必须编写_find
函数或者库中是否有等效的东西?
更新:这是实验源的要点:https ://gist.github.com/SKoschnicke/5795863
haskell - Haskell:使用镜头修改状态时,TChan 包装重复
考虑以下代码(和错误):
有人可以解释一下(TChan (TChan Broadcast))
是怎么回事吗?
haskell - 使用自定义名称处理器而不是默认的基于“下划线”的“镜头”库生成镜头
标准makeLenses
实现为以下划线开头的记录的所有字段生成镜头。由于许多原因,我非常不喜欢在我的记录中引入如此尴尬的命名约定的想法。我想要做的只是为记录的所有字段生成镜头,并通过在字段名称后附加一个后缀“L”来命名它们。
有了一个fc-labels库,我所要做的就是
但是镜头库的规则集和东西的配置要复杂得多,这并不容易引起人们的注意。所以我要求一个特定的配方来达到同样的效果。
haskell - 使用“镜头”从地图中获取多个结果
有这些进口:
以及定义如下的映射值:
我可以像这样一个一个地得到它的元素:
我想知道的是,有一组这样的键:
如何构造这样的吸气剂(我猜),使用它我将能够获得一组(或列表)匹配元素:
请注意,结果仅包含 2 个元素,因为 key 没有匹配项'd'
。
haskell - 如何提升功能以在镜头上工作?
我目前已经定义了两个函数:
我的印象是必须有一种简单的方法来摆脱整个avgOf
实现,并用一个简单的方法来代替它,它只是“提升”avg
来处理镜头。
scala - 在 Scala 常规类上使用镜头
大多数流行的 Scala JSON 库都能够序列化和反序列化为案例类。
不幸的是,在 Scala 2.11 发布之前,案例类可以拥有的参数数量是有限制的(最多 22 个)。作为超出此限制的解决方法,可以改用常规类。(例如:如何使用 *non-case* 类从带有 Scala 的 JSON 反序列化?)。
但是,这失去了案例类的好处。例如,没有自动生成的复制构造函数,并且镜头不适用于常规类,因此操作结构变得非常麻烦(除非将类中的每个字段都设置为 a var
,放弃不变性的好处)。
有没有办法让常规类的行为更像案例类,例如,镜头也可以对它们起作用?
haskell - Existential quantifier silently disrupts Template Haskell (makeLenses). Why?
I have this file:
and I get the following error message:
This is my first time attempting to use existential quantifiers; I have no idea why this combination of features breaks. Even more worryingly, why do I get no error message about makeLenses failing? I ran runhaskell Toy.hs
haskell - Control.Lens 的索引列表需要 Monoid 约束
以下代码无法编译:
给出这个错误
假设 MyType 成为一个幺半群没有意义,我怎样才能获得允许我访问这个嵌套字段的 Lens(或 Traversal,或任何最合适的 - 我不确定区别)?最好具有阅读和更新的能力。