当满足条件时如何退出迭代循环?

2024-03-25

我想迭代一个函数g with iterate。当我运行代码时,循环无限运行。当条件满足时是否有可能跳出循环?

就像是if g x > 100 then stop.

My code:

f x = iterate g x

g x = 2 * x

只要翻转条件,然后takeWhile它拥有:

f x = takeWhile (<= 100) $ iterate g x

这也可以成为免费的:

f = takeWhile (<= 100) . iterate g

这将从无限列表中获取iterate当累加器小于或等于 100 时返回。

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

当满足条件时如何退出迭代循环? 的相关文章

  • 让 GHC 生成“带进位加法 (ADC)”指令

    下面的代码将表示 192 位数字的两个未装箱字三元组添加到新的未装箱字三元组中 并且还返回任何溢出 LANGUAGE MagicHash LANGUAGE UnboxedTuples import GHC Prim plusWord2 Wo
  • GHC 可以为 monad 转换器派生 Functor 和 Applicative 实例吗?

    我正在尝试实施MaybeT本着mtl图书馆 使用这个非编译解决方案 LANGUAGE FlexibleInstances MultiParamTypeClasses UndecidableInstances import Control M
  • 函数式编程是否需要新的命名约定?

    我最近开始使用 Haskell 学习函数式编程 并在 Haskell 官方 wiki 上发现了这篇文章 如何阅读哈斯克尔 http www haskell org haskellwiki How to read Haskell What t
  • 如何在这个可嵌套的 For 循环中实现 Robot Framework 风格的变量?

    我在 Robot Framework 中见过很多 嵌套 For 循环 主要是创建一个内部带有 For 循环的关键字 然后在另一个 For 循环中调用该关键字 我使用 Python 2 7 13 制作了一个可嵌套的 For 循环 但因为它主要
  • 如何对 int[] 数组求和[重复]

    这个问题在这里已经有答案了 给定一个数组A of 10 ints 初始化一个名为的局部变量sum并使用循环查找数组中所有数字的总和A 这是我提交的答案 sum 0 while A lt 10 sum sum A 我在这个问题上没有得到任何分
  • Haskell 中函数和函子有什么区别?只有定义吗?

    在 Haskell 中 当编写函数时 这意味着我们将某个东西 输入 映射到另一个东西 输出 我尝试 LYAH 来理解 Functor 的定义 看起来和普通 Functor 一样 函数被称为函子有什么限制吗 Functor 是否允许有 I O
  • 为什么我的程序循环太多次?

    我是 C 初学者 正在尝试创建一个程序 但我的主要功能有问题 Problem 在询问他们想要输入多少个整数 例如 4 个数字 后 循环进行 5 次 基本上输入 5 个数字 它还只在第二个数字之后打印 Next In my while循环 我
  • for 循环中列表项未更改

    当以下代码没有达到我预期的效果时 我感到震惊 lines list this is line 1 n this is line 2 n this is line 3 n for line in lines list line line st
  • 循环遍历服务器上的数据库,并更新数据

    我有一台带有多个数据库的服务器 我需要循环访问这些数据库并更改每个数据库中的一个记录 一个表中的值 如何才能做到这一点 EXEC sp MSForEachDB Use UPDATE dbo MyTable SET MyValue 999
  • 如何从头开始重复C程序并清理屏幕和第一个输入值?

    我是编程新手 我写了一个简单的程序 我想一次又一次地重复该程序 并且只有当用户想要退出时它才能退出 这是我的程序 include
  • VBA:删除数组项后减少循环迭代?

    在 Excel 的 VBA 中 For i 0 To UBound artMaster For j i To UBound artMaster If i lt gt j And artMaster i VDN artMaster j VDN
  • 两个非嵌套循环的大 O 表示法

    对于两个非嵌套的 for 循环 大 O 表示法是什么 Example for int i 0 i
  • Haskell:找不到模块“Data.List.Split”

    我正在尝试在 Haskell 中拆分列表 据我所知 最简单的方法是splitOn 但是这个函数需要Data List Split 所以我尝试运行import Data List Split在前奏曲中 但是 我收到以下错误 Could not
  • 导入 Haskell 模块

    我是哈斯克尔的新手 为什么当我尝试使用时Days from Data Time我收到此错误 Could not find module Data Time It is a member of the hidden package time
  • 为什么 Parsec 的 sepBy 停止并且不解析所有元素?

    我正在尝试解析一些逗号分隔的字符串 该字符串可能包含也可能不包含具有图像尺寸的字符串 例如 hello world 300x300 good bye world 我写了下面的小程序 import Text Parsec import qua
  • 如何在 Ruby 中使用循环输出所有可能的组合?

    我刚刚开始学习编程 并试图编写一个输出所有可能组合的函数 到目前为止 我已经能够找到尺寸 2 的所有可能组合 但我不确定如何使代码保持开放式以处理更大尺寸的组合 某种递归会有用吗 我知道我可以使用内置的组合方法 但我只是想弄清楚如何从头开始
  • Haskell 中的实例声明

    我有这两个功能 primes sieve 2 where sieve p xs p sieve x x lt xs x mod p gt 0 isPrime number number 1 null x x lt takeWhile x g
  • C# 计算元音

    我正在学习 C 编程 并且正在尝试计算元音 我让程序循环遍历句子 但它不返回元音计数 而是仅返回字符串的长度 任何帮助将不胜感激 static void Main int total 0 Console WriteLine Enter a
  • PHP 计数器在 while 循环中递增

    我在一个 while 循环中增加计数器时遇到问题 基本上我只想在数据库中获取的两个图像链接之间交替 但我的计数器不会增加 我不确定为什么有人可以提供帮助 while row stmt gt fetch PDO FETCH ASSOC img
  • 纯函数怎么能做IO呢?

    我最近了解到莫纳德随机数 http hackage haskell org package MonadRandom 0 1 13 docs Control Monad Random Class html t 3aMonadRandom图书馆

随机推荐

  • 如何填写列表(类型)?

    我正在尝试验证输入的多维数组 我需要在将数据发送到准备好的语句之前验证数据类型 我正在做一个Function可用于检查从接收到的多维数组的数据类型WebMethodajax 调用 以多维数组作为参数和列表Types 作为另一个来检查列 我正
  • Erlang 中的 Apple 推送通知(或 Ruby 中的改进?)

    目前 我的服务器上有一个使用 Ruby 运行的 Apple 推送通知 我想在 Erlang 中使用一个 因为我想使用一个主管来监视它 有人有任何代码可以帮助我吗 这是我的 Ruby 代码 我不喜欢当前实现的一件事是它似乎无法保持连接 它每天
  • 什么会导致 Valgrind 堆栈跟踪中出现奇怪的地址?

    这个问题与从 valgrind 输出中过滤掉垃圾 https stackoverflow com questions 34325305 filtering out junk from valgrind output 我正在尝试调试一个大型项
  • ResolveUrl 和 ResolveClientUrl 有什么区别?

    我一直在使用 ResolveUrl 在 ASP NET 文件中添加 CSS 和 Javascript 但我通常会看到 ResolveClientUrl 的选项 两者有什么区别 我什么时候应该使用 ResolveClientUrl Resol
  • C++无法打开源文件

    在使用 Visual Studio 2017 的 C 中 我将一些头文件复制到我的项目文件夹中 然后将它们添加到 c 中的 解决方案资源管理器 下 现在当我写的时候 include name h 它在包含下打印一个错误 并显示 无法打开源文
  • 嵌套类构造函数的可见性

    C 中有没有办法限制嵌套类的实例化 我想防止嵌套类从除嵌套类之外的任何其他类实例化 但允许从其他代码完全访问嵌套类 通常 我会为要向其他类公开的功能创建一个接口 然后将嵌套类设为私有并实现该接口 这样嵌套类定义可以保持隐藏 public c
  • Java 使用 Java 8 时间库将 UTC 转换为 PDT/PST

    我想使用内置的 Java 8 时间库将 UTC 转换为 PST PDT 我正在编写一个与 API 对话的程序 该 API 根据时间范围返回对象列表 例如 从某个日期时间创建 修改的对象 我的程序使用LocalDateTime并且该值始终采用
  • 将 docker 与 RDS (Prod) 一起使用,但对本地数据库设置感到困惑 (dev)

    我正在使用 Docker 设计一个 Rails web 应用程序 出于多种原因 我想在生产环境中使用 RDS 来实现其可配置性和耐用性 而不是基于 Docker 容器的数据库 这是一个要求 我意识到我可以配置数据库 yml指向 Prod 环
  • 如何通过Prefix获取所有data-*属性

    我有一个这样的标签 a href Link a 当我点击这个链接时 我有一个这样的功能 ssd click function event var customData Code to get all the custom data in f
  • 什么会导致 php 的 strtotime 对 2099 年的日期不起作用?

    我有三台服务器 在所有三台服务器上执行以下操作 echo strtotime 2099 12 31 echo strtotime date Y m d gets me 服务器 1 php 5 3 8 64位 4102376400 13284
  • Swift:将视图从堆栈视图带到前面

    我得到了一个堆栈视图 其中包含以下视图 1 2 3 4 和 5 寻找一种方法将 Image View4 从 Stack 视图中的 view4 移至所有其他视图之上 我需要这个的原因是因为我将 Image View4 移动到 view3 中的
  • 如何在拖动过程中修复 jQuery UI 对话框的大小?

    这是一个简单的对话框 如下代码所示 每当拖动对话框时 其高度就会减小 当我设置对话框的 ressized false 时 它 的高度值甚至会改变 最后我通过在 DragStop 事件处理程序中重新更新对话框高度来修复它 我发现有人报告了类似
  • 如何确定当前 Mono 运行时的构建和安装版本?

    我想确定当前 Mono 运行时的构建和安装版本 如何在 Git 中正确调用它 dmcs version Mono C compiler version 2 9 0 0 但这绝对是不够的 XSP ASP NET 错误页面提供了更多信息 版本信
  • PIP 安装 Numpy 抛出错误“ascii 编解码器无法解码字节 0xe2”

    我在一台新构建的计算机上新安装了 Ubuntu 我刚刚使用 apt get 安装了 python pip 现在 当我尝试 pip install Numpy 和 Pandas 时 出现以下错误 我在 SO 和 Google 上的很多地方都看
  • 如何导入其他 TypeScript 文件?

    使用 vs net 的 TypeScript 插件时 如何使一个 TypeScript 文件导入其他 TypeScript 文件中声明的模块 file 1 module moo export class foo file 2 what go
  • create-react-app --template typescript — 是否可以暂时禁用类型检查?

    我正在使用 TypeScript 开发一个 create react app 它会在我的前端文件夹中自动生成一个 tsconfig include src 每次运行应用程序时 即使我删除或更改文件 有没有办法禁用 TS cra 中的类型检查
  • 如何在 C# 中检查一个日期时间是否大于另一个

    我有两个DateTime对象 StartDate and EndDate 我想确定一下StartDate是在之前EndDate 这在 C 中是如何完成的 if StartDate lt EndDate code 如果您只想要日期而不是时间
  • 继承、组合和默认方法

    人们通常承认 通过继承来扩展接口的实现并不是最佳实践 而组合 例如 从头开始再次实现接口 更易于维护 这是有效的 因为接口契约强制用户实现所有所需的功能 然而 在 java 8 中 默认方法提供了一些可以 手动 覆盖的默认行为 考虑下面的例
  • C# - 将“对象”参数转换为该对象的类型?

    C Hi all 我将一个对象传递给一个方法 我想将该对象转换为它的特定类 以便我可以执行它自己的特定方法 我怎样才能做到这一点 Move new Cat Move new Pigeon public void Move object ob
  • 当满足条件时如何退出迭代循环?

    我想迭代一个函数g with iterate 当我运行代码时 循环无限运行 当条件满足时是否有可能跳出循环 就像是if g x gt 100 then stop My code f x iterate g x g x 2 x 只要翻转条件