问题标签 [unfold]
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.
algorithm - 如何展开递归:T(n)=2T((n+2)/3)
我正在尝试解决这种重复,但我不知道如何展开它。
我可以忽略那个“+2”并像 2T(n/3) + 1 一样解决它吗?
这来自一个使用V[a..b]数组并返回的问题:
Y在哪里(2a+b)/3 and Z is (a+2b)/3
所以:((b-a+3)/3) = ((n+2)/3)
c# - Reactive Extensions 展开/扫描嵌套层次结构的方法
我目前正在为一个应用程序构建一个向导系统,我们正在使用 ReactiveUI,因此是 Rx。
向导中的每一步都实现IWizardStep<T>了T向导最终生成的数据类型。
每个步骤都具有显示用户可以移动到下一个步骤的能力,以便基于数据输入启用分支。
可以认为该步骤具有与以下类似的结构:
只需IStepChoice<T>:
为了计算从开始到结束的当前路径,以显示给用户,我需要能够从开始步骤开始,并NextStepChoice递归地沿着链走,直到它达到空值(这是NextStepChoice可观察的有效行为发出 null 以指示向导结束)。
我已经看过了,Observable.Scan但我一生都无法弄清楚如何以递归方式使其正常工作。
我还看了看Observable.Generate哪个看起来很有希望,因为这是一个经典的展开式问题;唯一的问题是Generate需要一个函数来确定何时中断循环,但我需要评估内部 observable 来解决这个问题。
这将是理想的,并产生我想要的输出,但NextStepChoice那里的选择器显然无法编译,因为它是 anIObservable<IWizardStepChoice<T>>而不是IWizardStepChoice<T>.
我看过使用Aggregate,Scan但是由于这些是更多折叠驱动的操作,而且我只有起始元素,这是我正在寻找的展开 ala Generate,但我需要它能够评估嵌套的 observable。
Observable.Create也许是我可以利用的东西?我已经尝试过了,并想出了:
哪个有我想要的所有正确签名IWizardStep<T>->IReadOnlyList<IWizardStep<T>>,所以乍一看它看起来不错,但它不起作用;它触发了,我可以通过,但是一旦它到达等待它就会挂起并且不会回来。
我感觉我很接近了,这是一个日程安排问题,所以我的问题是:
- 解决这个问题的最佳方法是什么,我接近了吗?
- 如果这是正确的,为什么等待会出现问题,我该如何解决?
更新
经过一些修补后,我注意到 await 可能挂起,因为该 observable 尚未(并且不会)发出一个值(duh),我现在通过初始化每个步骤的值来解决这个问题向导的开始。
我什至通过添加一个属性来检查这一点IWizardStep<T>-IWizardStepChoice<T> LatestStepChoice {get;}这只是与:
NextStepChoice.Subscribe(c => _latestStepChoice = c);
这是在 step 类本身上完成的,我可以确认它工作得很好。
然而等待仍然挂起,所以我尝试了:
- 让它
Replay(1)等待调用.Subscribe()将获得价值 - 这不起作用 Repeat()即使订阅了某些东西,它也会看到新的价值 - 这只是让整个事情挂起。
显然我在这里遗漏了一些东西,我想要它,以便当 await 查询 observable 时,它将被赋予看到的最新值,这是我认为Replay(1)会实现的;我也尝试过,但由于这种行为PublishLast(),未来的更新不会得到尊重。AsyncSubject<T>
现在我已经切换到使用 self-subscribed 属性,但这并不理想,如果我能提供帮助,我宁愿不必中断查询 observables,感觉“hacky”。
r - R data.table:根据行值的大小对 data.table/dataframe 进行子集
这是一个基本问题,但我很难过:
我有以下 R 数据表:
打印为
该列的值team是字母 A 到 Z,26 种可能性。在这一刻。如果我用这段代码计算行值:
这使
我想创建 26 个新列,DT其中给出每个team, A, B,C等的大小。
生成的 data.table 如下所示:
我不确定如何用data.table语法做到这一点..
编辑:我也很高兴使用 base R 和 dplyr 来做到这一点。
ocaml - 在 Ocaml 中展开的斐波那契数列
我对 Ocaml 比较陌生,我认为我正确理解了 Unfold 函数,但我只是看不到如何使用它制作斐波那契序列。难道我们不需要最后两个值的持有者变量,以便我们可以找到当前值吗?非常感谢所有帮助。我在下面添加了展开功能以供参考。
haskell - Haskell - 将玫瑰树的深度优先遍历表示为展开的实例,以代数方式推导它
假设我们定义了一个玫瑰树,以及数据类型上的相应折叠。
这种结构的深度优先遍历的递归定义将是:
我们可以将 dft 表示为 Rose Trees 上的折叠,特别是我们可以通过代数推导出这样的折叠。
我想我们可以这样做的原因是因为 foldRTree 捕获了 RTrees 上的一般递归结构,这让我想到了关于展开的查询。
我们将展开定义如下:
我们可以将深度优先遍历表示为展开如下:
我正在努力寻找一种方法来开发一种以与 cons 相同的方式代数计算函数 nht 的方法。特别是在开发展开过程中有一个巧妙的步骤,即意识到展开的最终参数需要是 [RTree a] 类型,而不仅仅是 RTree a。因此,对 dft 提出的论点并没有直接传递给展开,因此我们在推理这两个函数时遇到了障碍。
我将非常感谢任何能够提供一种数学方法来推理展开的人,这种方式可以计算所需的函数 nh 和 t 在将递归函数(自然是折叠)表示为展开(可能使用一些定律)时连接折叠和展开?)。一个自然的问题是我们必须用什么方法来证明这种关系是正确的。
haskell - Haskell:添加噪声的效率迭代图
我想知道如何提高逻辑图中添加白噪声的时间性能?仅在计算值后才允许添加噪声(因为它是一个迭代映射。)
如您所见,我实际上只想要元组的第一个值,但需要更新生成器。
有什么建议么?也许是状态单子?
sql - SQL - Impala - 如何将一个分类列展开为多个?
我有下表:
我想“展开”或“虚拟化”类别列并用“数字”列填充它们以获得:
是否有可能在 SQL (Impala) 中实现这一点?
我发现了这个问题如何在 Google BigQuery 中为数千个类别创建虚拟变量列?
然而,它似乎有点复杂,我宁愿在 Pandas 中做。
知道我有10 个类别(A、B、C、D 等),有没有更简单的解决方案?



