F# 中序列的递归函数

2024-04-29

这是一个相当微不足道的问题,但快速的谷歌搜索并没有给我答案。

为序列编写递归函数的标准方法是什么?对于列表,您可以使用空列表和头+尾模式进行模式匹配,序列的等效项是什么?


没有标准的方法可以做到这一点,因为您很少为序列编写递归函数。

您应该查看各种高阶函数序列模块 http://msdn.microsoft.com/en-us/library/ee353635.aspx。它们通常已经足够了,因此您不必自己编写递归函数。

要递归生成序列,序列表达式是一种简单直观的方法:

let rec allFiles dir =
    seq { yield! Directory.GetFiles dir
          for d in Directory.GetDirectories dir do
            yield! allFiles d }

如果您必须分解一个序列并递归地操作它,那么您就错了。你应该操纵List or F# PowerPack 中的 LazyList http://fsharppowerpack.codeplex.com/SourceControl/changeset/view/68767#685030,并将结果转换回序列。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

F# 中序列的递归函数 的相关文章

  • F# 中序列的递归函数

    这是一个相当微不足道的问题 但快速的谷歌搜索并没有给我答案 为序列编写递归函数的标准方法是什么 对于列表 您可以使用空列表和头 尾模式进行模式匹配 序列的等效项是什么 没有标准的方法可以做到这一点 因为您很少为序列编写递归函数 您应该查看各
  • 在 F# 中实现返回 Task 的 C# 方法

    我正在 F 中创建一个类型 该类型继承自 C 类 该类公开返回的方法Task
  • 如何更改 Rx Builder 实现来修复堆栈溢出异常?

    我正在尝试提出一个 Rx Builder 以在 F 计算表达式语法中使用反应式扩展 我该如何修复它 以免堆栈崩溃 就像下面的 Seq 例子一样 是否有计划提供 RxBuilder 的实现作为响应式扩展的一部分或作为 NET Framewor
  • 如何在 suave webpart 中设置 Json 响应

    我从 Suave 和 F 开始 我正在尝试在我的 web 部件中传递一个 json 序列化对象以在我的响应中获取它 在 php 中我有这个 player1Key hdegftzj25 gameKey aegfhzkfszl
  • 如何在 FsCheck 中注册任意实例并让 xUnit 使用它?

    我有一个类型Average有一个字段count这是积极的int64 and a double字段称为sum 我做了一个任意的生成有效实例的操作 let AverageGen Gen map2 fun s c gt Average float
  • 计算 python 字典/数组数据结构的非空尾叶 - 递归算法?

    我正在寻找一个函数来查找一种复杂字典 数组结构的所有非空端点 我认为因为我不知道嵌套数组的数量或它们的位置 所以它必须是递归的 而我只是还没有完全理解这种思维方式 所以对于嵌套字典 x top middle nested value nes
  • 生成总和为 N 的所有数字排列

    我正在编写一个程序来创建所有数字 起初 我尝试使用分区函数对数字进行分区 然后对每个数字集进行排列 但是我认为这行不通 最好的方法是递归排列 同时对数字求和 这超出了我的能力范围 抱歉 如果这听起来真的很愚蠢 但我真的不知道 Example
  • F# 在类型提供程序内的类型扩展函数中生成类型

    我有以下问题 在我的类型提供程序中 我需要使用一个返回此泛型类型实例的方法来扩展我之前定义的泛型类型 我的意思是 假设我们有 type receiveType lt a gt class val Next int val Type stri
  • 文件/文件夹结构的递归搜索

    我正在尝试为返回文件和文件夹列表的 Web 服务构建递归搜索功能 我创建了这两个方法 因此它们充当递归搜索 它首先获取顶级内容 然后将任何文件添加到 fileList 并将任何子文件夹添加到 subFoldersList 我们传入访问级别
  • 如何在 F# 中捕获任何异常(System.Exception)而不发出警告?

    我试图捕获异常 但编译器给出警告 此类型测试或向下转型将始终保持 let testFail try printfn Ready for failing failwith Fails with System ArgumentException
  • 如何获得字符串的所有字谜

    我试图找到一个字符串的所有可能的字谜并仅使用递归将它们存储在数组中 我被困住了 这就是我所拥有的一切 int main const int MAX 10 string a ABCD string arr 10 permute arr a 0
  • c中使用递归的strlen函数

    我对递归主题很陌生 我一直在尝试使用递归编写 strlen 函数 这就是我尝试过的 int strlen char str int i if str i 0 return i 1 return strlen str i 我尝试了一些非常相似
  • 如何在MVVM中实现appSettings

    我正在尝试摆脱我使用的警告appSettings在 WPF 项目中 应用程序配置
  • 在 Clojure 中退出 Recur 循环

    我想跳出下面的循环 并在第 10 行计算结果为 true 时返回最佳最小移动 我查看了 print 语句的输出 当第 10 行的计算结果为 true 时 它 找到了我正在查找的数据 但仍然重复出现 在 Clojure 中 有没有办法在语句计
  • 什么是错误“类型实例化涉及 byref 类型。” F# 中的解决方法是什么

    我有一些代码包装 TA Lib 很多包装器非常相似 let sma timePeriod int data float let mutable outStartIndex 0 let mutable outNbElement 0 let m
  • 使用 SqlBulkCopy 和 F# 在 SQL 中导出矩阵

    我想将大量数据从 F 传输到 SQL 表 基本上我的 F 代码创建了一个三列矩阵 UserID ProductID and price 和N行 我想将其 复制 粘贴 到数据库中 我尝试了多种选择 但最终 从 F 传输数据非常慢 10000
  • F# 正确使用序列缓存

    我正在尝试将 Seq cache 与我制作的函数一起使用 该函数返回最多为 N 的素数序列 不包括数字 1 我无法弄清楚如何将缓存的序列保留在范围内 但仍然使用它在我的定义中 let rec primesNot1 n 2 n gt Seq
  • 从 C# 调用高阶 F# 函数

    给定 F 高阶函数 在参数中采用函数 let ApplyOn2 f int gt int f 2 和 C 函数 public static int Increment int a return a 我怎么打电话ApplyOn2 with I
  • NodeJS 在目录中递归地哈希文件

    我能够实现目录中的递归文件遍历 即探索目录中的所有子目录和文件 为此我使用了answer https stackoverflow com questions 5827612 node js fs readdir recursive dire
  • F# 和模糊逻辑

    我知道这可能听起来很奇怪 但我想知道 Microsoft Visual F 正在进入的这个新世界中的一件事 这种语言有很多应用 我要学习 关于解析 函数式编程 结构化编程 但是人工智能呢 模糊逻辑有什么应用吗 F 是一种适合模糊逻辑应用程序

随机推荐

  • Lombok 插件与 2018.1 Intellij Idea 不兼容

    现在我看到 Intellij Idea 更新窗口的概念是 发现插件与新版本不兼容 Lombok 插件 有没有办法解决这个问题 或者我应该等到 lombok 插件团队解决兼容性问题 以下是适合我的解决方案 更新intellij idea 我使
  • 使用 Facebook 登录 Angularfire 未收到扩展权限

    在升级到 Angularfire 0 9 之前我已经完美地工作了 我想从 Facebook 请求用户的电子邮件地址 Facebook 已允许我向我的用户索取此信息 我正在使用下面的代码登录 Facebook 一切都完美地接受它不要求用户的电
  • AngularJS 条件 ng-disabled 不会重新启用

    给定一个有条件禁用的文本输入字段 使用ng disabled truthy scope variable AngularJS 禁用该字段第一次范围变量被伪造 但不会在后续更改中启用它 结果 该字段保持禁用状态 我只能假设出了问题 但控制台日
  • 由于使用 Bulma 和 Buefy (nuxt-buefy) 时 PostCSS 出现问题,无法构建 Nuxt

    使用以下配置 一切正常npm run dev 但是当我们这样做时npm run build 有一个错误 assets scss main scss 中的错误 node modules nuxt postcss8 node modules c
  • 解释暴力算法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从下到上显示垂直进度条

    我需要帮助 当 window onload 时 我怎样才能制作进度条 它必须从下到上填充 在这段代码中它的工作原理相反 function move var elem document getElementById myBar var hei
  • 这个结构 (int) { 1 } 是如何调用的?

    构造如何 int 1 用C调用 猜测是 匿名常量 但这在谷歌上没有显示出任何帮助 作为旁注 您可以使用此构造来告诉 ioctl 您想要使用值为 1 的变量 ioctl int 1 它被称为 复合文字 http drdobbs com 184
  • R Plotly 为条形图设置自定义颜色

    我有一个plotly我的 Shiny 应用程序中的条形图 我想在生成的条形图中设置每列的特定颜色 Here s some reproducible data df data frame Month c Jan Feb Mar Apr May
  • Obj-C 中的错误:预期标识符或“(”

    我正在尝试制作一个带有按钮 得分计数器和计时器的简单应用程序 但出现了一些错误 import
  • 将文本传递给可能包含单引号的 JavaScript 函数

    我有一个动态创建的链接 如下所示 a href Edit a 使用编辑功能 然后获取传入的值并将其放入雅虎富文本编辑器中 除非传递的文本中有单引号 否则这种方法效果很好 明显的问题是链接看起来像这样 a href Edit a 对我能做什么
  • dispatch_time 和dispatch_walltime 之间有什么区别?在什么情况下最好使用其中之一?

    我知道dispatch time是根据设备时钟的时间 如果设备进入睡眠状态 时钟也会睡眠 另一方面dipatch walltime是根据挂钟的时间 它永远不会睡觉 我的问题是 在不同情况下使用其中一种或另一种 在性能方面或其他方面有什么区别
  • 产生独特的价值

    我想创建一个C程序生成 0 到 999999 之间的数字 请记住生成的数字不应包含任何重复的数字 例如 123 是一个可接受的值 但不是 121 as the 1 被重复 我已经找到了其他程序代码来检查整数是否有重复的数字 检查整数是否有重
  • 如何调用 less.js 函数

    我什至不太确定如何问这个问题 LESS CSS框架包含几个操作颜色的函数 我想知道如何自己调用这些函数来修改颜色 问题是这些函数位于另一个函数内部并定义如下 function tree tree functions darken funct
  • 将多个堆栈导航器中常见的所有屏幕放在哪里? - 反应导航 v5

    以下是我的应用程序导航器的层次结构 appNavigator 底部选项卡导航器 feed 堆栈导航器 后详细信息屏幕 页面详细信息屏幕 个人资料详情屏幕 其他屏幕 通知 堆栈导航器 个人资料详情屏幕 页面详细信息屏幕 发布详情屏幕 其他屏幕
  • 根据列标题将数据从一个工作簿转移到另一个工作簿

    我下面的代码将列值从一个特定工作簿 Activeworkbook 列 O AH 和 I 转置到另一个工作簿 loader file xls 列 A B C 它非常适合我的需求 Sub PullTrackerInfo Pull info fr
  • 如何使用开放的XML SDK基于C#中每行的列读取xlsx?

    我正在尝试使用 open xml sdk 读取一些 xlsx 文件 但我真的很难找到任何好的示例 我想要做的是读取整个 XLSX 文件并循环所有行并从我指定的列中提取单元格值 单元格文本 就像下面这样 GetCellText rowId C
  • updatepanel (JavaScript) 回发后,jQuery 可排序不起作用

    我对 jQuery 的可排序功能有疑问 当我的页面使用更新面板进行回发时 动态表的排序不再起作用 当按下图像按钮时会触发回发 当按下图像按钮时 会出现一个新行 其中有一个子表 我尝试了这 3 个 JavaScript 代码 但它们似乎都是第
  • 比较 std::functions 是否相等?

    如何比较两个 C 11std functions with operator 并返回true如果两者都说functions 引用同一个函数指针吗 你实际上可以让它工作 target template
  • BNF 可以处理远期消费吗?

    最近我发现了 python 模块pyparsing 一个通过编写来解析数据的绝佳工具grammar 而不是解析器 我对上下文无关语法的概念很陌生 所以请纠正这个问题中的任何错误假设 Pyparsing 可以实现 BNF 巴科斯 诺尔范式 h
  • F# 中序列的递归函数

    这是一个相当微不足道的问题 但快速的谷歌搜索并没有给我答案 为序列编写递归函数的标准方法是什么 对于列表 您可以使用空列表和头 尾模式进行模式匹配 序列的等效项是什么 没有标准的方法可以做到这一点 因为您很少为序列编写递归函数 您应该查看各