F# 中的 Seq.unfold 解释

2024-03-06

我正在尝试使用 F# 懒惰地创建一个序列。

该序列定义如下:

序列的第 n 项 三角形数由下式给出: tn = 1/2n(n+1);所以前十个三角形 编号是:

1、3、6、10、15、21、28、36、45、55、 ...

这是我到目前为止所拥有的,但它似乎不起作用:

let tri_seq = 1.0 |> Seq.unfold (fun x -> match x with                                         
                                          | _ -> Some (x, 0.5*x*(x + 1.0)))

非常感谢您能帮助我弄清楚展开是如何工作的。谢谢

Edit:我将第一个答案标记为正确,但它不起作用,但是我稍微修改了它并且它起作用了。

let tri_seq = 1.0 |> Seq.unfold (fun x -> Some (0.5 * x * (x + 1.0),x + 1.0))

首先,你为什么使用match如果你只有一个案例?

let tri_seq = 1.0 |> Seq.unfold (fun x -> Some (x, 0.5 * x * (x + 1.0)))

其次,什么“似乎不起作用”?您是否知道您生成了一个无限列表?

/编辑:为了完整起见,这是正确的解决方案,OP自己找到并作为评论发布:

let tri_seq = 
    1.0 |> Seq.unfold (fun x -> Some (0.5 * x * (x + 1.0), x + 1.0))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

F# 中的 Seq.unfold 解释 的相关文章

  • 如何判断 F# 函数是否是纯函数?

    假设我有这两个 F 函数 let sq x x x let tm DateTime Now 显然 sq 是纯的 因为它对于给定的输入总是返回相同的值 而 tm 是不纯的 因为每次调用它时都会返回不同的值 一般来说 有没有一种方法可以确定 F
  • `ImmutableSortedSet` 和 fsharp `Set` 有什么区别?

    BCL引入了一组Immutable Collections http blogs msdn com b bclteam archive 2012 12 18 preview of immutable collections released
  • 如何在 F# 中捕获任何异常(System.Exception)而不发出警告?

    我试图捕获异常 但编译器给出警告 此类型测试或向下转型将始终保持 let testFail try printfn Ready for failing failwith Fails with System ArgumentException
  • F# 获取随机数列表

    我正在尝试用随机数填充列表 但很难获得随机数部分 我现在打印出一个随机数 10 次 我想要的是打印出 10 个不同的随机数 let a new System Random Next 1 1000 let listOfSquares for
  • F# 和模糊逻辑

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

    在 C 代码中 它会是这样的 if c 0 some code 那么在 F 中呢 From MSDN 有关 F 算术运算符的页面 http msdn microsoft com en us library dd469493 aspx 看起来
  • F# 命名约定

    F 是否有 官方 命名 大小写约定 我总是怀疑是否使用 C 风格 Class MyFunctionName or Module my function name 在 F 中 您应该混合 BCL 类和 F 库类 它们具有不同的大小写 并且代码
  • 何时评估 F# 函数调用;懒惰地还是立即地?

    F 中的柯里化函数 我知道传入参数子集会产生一个带有预设的函数 我只是想知道传递所有参数是否有什么不同 例如 let addTwo x y x y let incr a addTwo 1 let added addTwo 2 2 incr是
  • F# 尝试处理未处理的异常

    在下面的代码中 我想读取一个文件并返回所有行 如果存在 IO 错误 我希望程序退出并将错误消息打印到控制台 但程序仍然遇到未处理的异常 对此的最佳实践是什么 我想我不需要Some None因为无论如何我都希望程序在错误时退出 谢谢 let
  • 使用不区分大小写的比较从集合中减去记录

    我有一组记录 type Person Name string Age int let oldPeople set Name The Doctor Age 1500 Name Yoda Age 900 与上面的硬编码示例不同 这组数据实际上来
  • 如何编写强制执行复杂模式的 F# 类型提供程序?

    就在最近 我处理了一些交通和旅行信息的数据 即数据Datex2 http www datex2 eu content datex ii xml schema 21格式 该项目时间不长 现在已经结束 我像往常一样继续生成了一堆强类型 C 类x
  • F# 中的动态编程

    实现解决问题的动态规划算法的最优雅的方法是什么子问题重叠的问题 http en wikipedia org wiki Overlapping subproblem 在命令式编程中 人们通常会创建一个按问题大小索引的数组 至少在一维 然后算法
  • F# 静态成员类型约束

    我正在尝试定义一个函数 factorize 它使用类似于 Seq sum 的结构类型约束 需要静态成员 Zero One 和 以便它可以与 int long bigint 等一起使用 似乎无法获得正确的语法 并且无法找到有关该主题的大量资源
  • 您可以使用 .net core 运行 F# 脚本文件 (.fsx) 吗?

    是否可以使用 net core 运行 fsx 文件 相当于fsharpi在单声道上 它在 NETCore v3 0 或更高版本中开箱即用 cat hello fsx usr bin env fsharpi printfn hello wor
  • 了解 F# 尾递归

    最近在学习F 我尝试以不同的方式解决问题 像这样 0 1 2 3 4 5 6 7 8 gt 0 1 2 3 4 5 6 7 8 head recursive let rec toTriplet v1 list match list with
  • F# 使用 while 循环

    我有一个数据读取器 我想从中返回行集合 在阅读了一天的书籍后 我无法找到在 f 中执行此操作的最佳方法 我可以在 F 中以正常的 C 方式进行操作 但这不是我使用 f 的原因 这就是我想要实现的目标 let values while rea
  • 如何在 F# 中进行卷积?

    我想convolve http en wikipedia org wiki Convolution具有离散滤波器的离散信号 信号和滤波器是 F 中的浮点数序列 我能弄清楚如何做到这一点的唯一方法是使用两个嵌套的 for 循环和一个可变数组来
  • 从函数返回随机值是副作用吗?

    我当时正在编写一些 F 代码 并且正在编写一个从一组字符串中返回随机字符串的函数 假设我有这样的事情 open System let a a b c d let rstring arr string let r new Random arr
  • 如何从 f# 返回一个空元组到 c#? [复制]

    这个问题在这里已经有答案了 我有这个类型正确的 C 函数 static System Tuple
  • 图像分析-光纤识别

    我是图像分析新手 您知道如何以仅获取纤维的方式对该图像进行二值化吗 我尝试过不同的阈值技术等 但没有成功 我不介意应该使用什么工具 但我更喜欢 NET or Matlab PS 我不知道该把答案放在哪里 所以我把它放在StackOverfl

随机推荐

  • 是否有返回当前项目名称的 git 命令?

    git 是否有内置命令用于显示当前远程项目的名称 现在我正在使用这个 git remote v head n1 awk print 2 sed s sed s git 但似乎会有一个内置的等效项 我一直在寻找相同的信息来自定义我的 shel
  • SPARQL递归祖先查询

    我被 SPARQL 中的递归查询困住了 我无法理解它 我想获得一个实例的所有祖先 a a hasParent b b hasParent c c hasParent d 所以结果将是 b c and d 如果实例是 a 有什么想法如何构造父
  • 表存储(模拟器)插入失败,并显示“请求输入之一无效”。

    我有一个导入过程 它从旧源获取数据并将其放入表存储中 这使我可以重新初始化表存储并根据需要重新开始 它在更新到 10 月份的 Azure SDK for NET VS2012 之前就可以正常工作 现在 插入一些实体后它会失败 似乎有所不同
  • 如何从 lxml 错误中获取更多信息?

    因为我无法使用 XSL IDE 所以我使用 lxml 编写了一个超级简单的 Python 脚本 通过给定的 XSL 转换来转换给定的 XML 文件 并将结果写入文件 如下 有删节 p XMLParser huge tree True xml
  • 页面属性中的 AEM 页面图像不应用 sling:resourceType

    使用 Adob e Experience Manager 5 6 1 AEM 以前称为 CQ5 我尝试创建一个类似于页面属性中的 图像 选项卡的新选项卡 它将被命名为 标志 我基本上只是复制 图像 选项卡来创建徽标选项卡 并重命名路径以反映
  • 有没有办法以编程方式将值保存到 web.config appSettings 而不破坏注释和格式?

    此代码可以工作 但它会破坏 Web config 中的注释和格式 有没有一种方法可以写入 Web config 且不会破坏格式 var webConfig WebConfigurationManager OpenWebConfigurati
  • 如何在 PyTorch 数据加载器中将 RGB 图像转换为灰度图像?

    我已经从 MNIST 数据集中下载了一些示例图像 jpg格式 现在我正在加载这些图像来测试我的预训练模型 transforms to apply to the data trans transforms Compose transforms
  • 尝试在javascript中打开多个窗口

    我需要点击按钮打开多个网址 正在 Chrome 上进行测试 PS 我这样做是为了自己 我只是想打开我每天早上想阅读的所有网址 例如 我不想浪费时间点击每个网址 不确定 javascript 是否是构建此类功能的正确工具 写了下面的代码 它打
  • vscode prettier 不格式化 .tsx 文件

    我已经在 Visual Studio 代码编辑器中使用 Prettier 扩展很长时间了 但最近我一直在使用 Typescript 编写 React 所以我需要配置 Prettier 来格式化 tsx files 使用以下内容编辑设置set
  • 如果我因为想要转向生产而关闭 Play 商店中的公开测试版计划,那么我的应用程序的用户会发生什么情况?

    以前曾有人问过这个问题 但没有提供答案 也没有链接到文档说明如果开发人员有公开测试版程序并决定关闭它 应用程序的用户会发生什么 这些用户是否会自动转换为生产用户 还是必须重新下载应用程序 如果关闭公开测试计划并开始将新的更新推向生产环境 他
  • Python坐标之间的转换

    有没有不同坐标系之间转换的函数 例如 Matlab 有 rho phi cart2pol x y 用于从笛卡尔坐标到极坐标的转换 看起来应该是 numpy 或 scipy 使用 numpy 您可以定义以下内容 import numpy as
  • 设置 Oracle JDBC 瘦客户端的语言

    我想在实际创建 JDBC 连接之前为其指定语言 例如 如果我在中指定了错误的 L P 凭证 DriverManager getConnection url user password 我需要得到ORA错误已本地化为我选择的语言 我使用 Or
  • 具有多个窗口的 SDL 2.0 退出事件

    我正在使用 SDL 2 0 并决定尝试制作多个窗口 不幸的是 现在我无法退出程序而不返回 IDE 并强制关闭它 事件处理尽可能简单 我只轮询退出事件 并且在添加第二个窗口之前它工作得很好 使用多个窗口时是否会忽略退出事件 如果是这样 我怎样
  • 页面重新加载后断点

    页面重新加载后我需要在断点处停止 我在代码中放置了一个断点 但重新加载后它被禁用 putting debugger 在代码中工作正常 但我想知道是否有办法在 firebug 或 chrome 开发工具中做到这一点 可能是您的页面 url 中
  • Eureka检测服务状态

    Context 我们使用 Spring Cloud Netflix 和 Eureka 作为服务发现 使用 Zuul 来代理服务并对其进行负载平衡 微服务使用NodeJS实现 并使用NPM模块注册到Eurekaeureka js 客户端 ht
  • 查询数据集

    我正在将 XML 文件中的数据读取到强类型中DataSet 数据最终存放在多个表中 我可以对其运行查询来创建非规范化视图以显示在DataGrid 输入示例
  • 如何在处理过程中更新 OpenGL 中的显示?

    距离我上次使用 OpenGL 已经过去一年多了 所以我对这个话题已经很生疏了 我正在对一张图像进行一些处理 具体来说是颜色聚类 并且我想在每次循环迭代后更新图像 这样我就可以看到发生的变化 而不是在处理完成后看到变化 这就是目前正在发生的情
  • 使用 SQL FileStream 发生内存泄漏

    我有一个使用 SQL FILESTREAM 来存储图像的应用程序 我插入一个LOT图像数量 每天数百万张图像 一段时间后 机器停止响应 似乎内存不足 查看 PC 的内存使用情况 我们没有看到任何进程占用大量内存 无论是 SQL 还是我们的应
  • 未修饰的 JDialog 边框

    我有一个关于未装饰的边界的问题JDialog使用Metal L F 查看此图片以查看此窗口上的边框 我正在尝试弄清楚如何消除或更改最外侧的蓝色边框的颜色JDialog 我查看了 UI 默认值Look Feel但我无法想出任何对此有用的方法
  • F# 中的 Seq.unfold 解释

    我正在尝试使用 F 懒惰地创建一个序列 该序列定义如下 序列的第 n 项 三角形数由下式给出 tn 1 2n n 1 所以前十个三角形 编号是 1 3 6 10 15 21 28 36 45 55 这是我到目前为止所拥有的 但它似乎不起作用