当前位置: 首页 > 知识库问答 >
问题:

Scala的选择是以何种方式折叠成体?

乐正远航
2023-03-14

对这个问题的回答表明,Scala中Option上的fold方法是一种变态。从维基百科上看,一个catamophism是“从一个初始代数到其他代数的唯一同态。这个概念已经作为折叠应用到函数编程中”。所以这似乎是公平的,但却引导我把一个初始代数作为F-代数范畴中的初始对象

共有1个答案

金晗日
2023-03-14

嗯,评论是对的。我只是一个初学者,所以我可能有一些误解。是的,重点是能够建模递归类型,但我认为没有什么可以排除“非递归”F-代数。由于初始代数是方程X~=fx的“最小不动点”解。在选项的情况下,解是平凡的,因为不涉及递归:)

初始代数的其他例子:

list[X]=1+A*X表示list=Nil Cons A list

    null

我找到的一个很好的参考是函数泛型编程

无耻的插头:我在scala-reggen的代码中玩这些概念

 类似资料:
  • 简单的问题,但我找不到答案。如何以编程方式折叠或展开? ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

  • > 单击“加载”按钮后,如果设置了任何一个textfield,则“手风琴面板”筛选器将展开。 点击“加载”按钮后,如果没有设置所有文本字段,那么“手风琴面板”过滤器将会折叠。 我已经通过手风琴面板的primefaces文档,但没有发现它的帮助。http://www.primefaces.org/docs/vdl/3.5/primefaces-p/accordionpanel.html

  • I',试图构建一个扩展/折叠菜单。 我有一个主导航栏,里面有3个子菜单。默认情况下,子菜单的高度为50px,但一旦点击,这个高度就会变为200px。再点击一下,让它塌陷回原来的50px。 让我烦恼的是,当我展开subMenu1,然后展开Submenu2-Submenu1保持展开,并且我希望它在第二个子菜单被选中时折叠。 这是我的代码; 和jQuery: 我想知道什么功能或什么使用来确保一旦任何子菜

  • 是否可以自定义Visual Studio代码中代码折叠的工作方式? 我使用一种通用模式来跨各种不同的文档类型定义代码区域。 > 因此,对于XML,我用< code >包装文本部分 对于c#,我使用来, 对于TypeScript/Javascript,我使用< code>/* #region */和< code>/* #endregion */。 在full Visual Studio(而不是VS

  • 我在CollapsingToolbarLayout中有ImageView和TabLayout(4个选项卡),现在我想在单击选项卡(2,3,4)时折叠Appbar,第一个选项卡应该正常工作(按滚动)。有没有方法以编程方式展开和折叠Appbar? 然而,我看到了解决方案,appBarLayout.setExpanded(false)折叠Appbar,但它又可以向下拖动。我想阻止AppBar展开,直到选