更新列表的第 'x' 个元素 - Haskell [重复]

2024-07-03

可能的重复:
替换 Haskell 中的单个列表元素? https://stackoverflow.com/questions/5852722/replace-individual-list-elements-in-haskell

我已经在这部分作业中取得了一些进展,但附上了我所做的部分代码:

module Grid where

data State = On | Off deriving (Eq, Show)

next :: State -> State
next On = Off
next Off = On

type Row = [State]


updateRow :: Row -> Int -> Row
updateRow  (r:rs) x 
    | x == 0     = next r:rs
--  | otherwise     = ........????

如上面最后一行所示,我成功地让 updateRow 在 x = 0 时工作,如下所示(第 0 个元素反转)。

*Grid> updateRow [Off,Off,Off,Off] 0
[On,Off,Off,Off]
*Grid> 

然而,当我尝试反转此列表的其他元素时,一切都变得不那么困难。我似乎无法“概括”这个函数中的公式。

我还必须遵循这种类型约定:

updateRow :: Row -> Int -> Row

提前致谢。


像这样的东西:

module Grid where

data State = On | Off deriving (Eq, Show)

next :: State -> State
next On = Off
next Off = On

type Row = [State]


updateRow :: Row -> Int -> Row
updateRow  (r:rs) x 
    | x == 0     = next r:rs
    | otherwise  = r : (updateRow rs (x-1))
updateRow [] x = []
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新列表的第 'x' 个元素 - Haskell [重复] 的相关文章

随机推荐

  • 使用 wp_mail 显示内嵌图像附件

    我有个问题 我想将图像附加到电子邮件中 并内联显示它以及其他一些 php 生成的内容 问题是我完全不知道如何使用 wp mail 用来附加的内联文件附件数组 我的解决方案是将图像编码为 base64 并将它们内联到 HTML 中 如下所示
  • ASP.NET Core MVC 定时任务

    我需要在 ASP NET MVC 核心应用程序中的每个新的一天运行计划任务 我可以做吗 怎么做 thnx 更新答案 2022 年 11 月 DotNet Core 2 推出了新界面IHostedService这将处理后台任务 在此微软文档中
  • .NET 调试现有项目

    背景 免责声明 首先 如果您能理解以下问题 请完全跳过此部分 我对 NET 还很陌生 但对于常规 VB 中的旧 ASP 却是个老猴子 我刚刚进入一家拥有一些遗留 NET VB 文件的公司 现在我有几个大型项目 其中文件超过 50mb 整个项
  • Android 中的活动、上下文和意图是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人可以向我解释一下 Android 中的 Activity Context 和 Intent 是什么吗 我阅读了Android文档
  • 如何在 HTML 输入字段中使用方形光标?

    如何在文本中使用这个方形光标 下图
  • 从 C# 对象获取的内存

    我想知道从 对象 继承并且没有字段 属性的对象需要多少内存 我想方法不会 正确的 我说的是 net 对象 好吧 安德鲁和古法都给出了我认为是错误的答案 所有对象 在 x86 上 都有 8 字节的开销 但是also最小大小为 12 字节 我不
  • 发布的 ASP.NET MVC 5 应用程序具有组织帐户身份验证重定向回本地主机

    我在发布使用组织帐户进行身份验证的 Web 应用程序时遇到问题 也就是说 我选择将其发布在azure网站上 使用新的azure SQL数据库作为租户数据库 我使用单一帐户并指定 onmicrosoft com 域 一步步 新的 ASP NE
  • 计算字符数组中的字符频率 - x86 Assembly

    我正在尝试计算字符串中字符的出现次数 我的代码如下 data segment DSEG text db This is a sentence 0 string textSize dw text 1 size of string 1 to a
  • 如何在 IntelliJ 中运行单个量角器测试?

    我开发了一个 Angular 应用程序并使用 Protractor 进行 e2e 测试 在 Intellij 终极版 中 我为我的测试创建了运行 调试配置 如果我想运行所有测试 这很好用 但是我如何才能只运行单个规范文件或单个测试用例呢 我
  • 计算字符数组中的字符频率 - x86 Assembly

    我正在尝试计算字符串中字符的出现次数 我的代码如下 data segment DSEG text db This is a sentence 0 string textSize dw text 1 size of string 1 to a
  • 我可以在类中设置常量,然后在 PHP 中外部访问它吗?

    我正在尝试初始化类内的一些值并将它们保存在常量中并在外部代码的不同部分中访问它们
  • “客户”表的数据库结构,每个客户有很多订单,每个订单有很多商品

    我正在尝试创建一个数据库 其中每个客户都有多个订单 每天有新订单 每个订单都有多个项目 我计划创建一个客户表 并为每个订单创建一个表 并用 项目 表填充该表 我认为这种方法太复杂和繁琐 因为订单数量可以达到数千个 我认为拥有数千个表是不可维
  • 我如何在java中初始化这个二维数组?

    我正在寻找在下面的代码中声明只能容纳 3 个不同值的 2D 数组的类型 哪种类型的二维数组可以为每个单元占用最少的内存并保存 3 个不同值之一 然后我将使用 for 循环初始化这样的数组 class Grid X twoDimArray n
  • 如何从十六进制字符串创建 UIColor?

    我怎样才能创建一个UIColor from a 十六进制字符串格式 例如 00FF00 我发现最简单的方法是使用宏 只需将其包含在标头中 即可在整个项目中使用 define UIColorFromRGB rgbValue UIColor c
  • 如何绑定flask-wtform UnboundField?

    我正在创建一个应用程序来将产品发布到市场 该市场上的每个产品类别都有不同的产品属性形式 例如 如果是电子产品 则有电压 型号等字段 我通过市场服务器通过 json 获取此信息 首先 用户必须写下产品的名称及其主要类别 然后市场服务器预测他们
  • 将 C++ 代码与“gcc”链接(不带 g++)

    大家好 简单的问题 我现在的情况是 仅使用 gcc 不使用 g 生成 C 可执行文件会很有用 原因是我必须将代码提交到自动提交服务器 该服务器无法识别 g 或 c 命令 在我的实验中 当我编译海湾合作委员会运作良好 问题是 当我尝试链接生成
  • 通过 Active Directory LDAP 使用 Spring-Security 进行身份验证

    我无法使用真正的活动目录进行身份验证 让我更好地解释一下 我尝试使用 spring io 提出的示例进行身份验证 没有问题 内部服务启动没有任何问题 参考https spring io guides gs authenticating ld
  • 更新列表的第 'x' 个元素 - Haskell [重复]

    这个问题在这里已经有答案了 可能的重复 替换 Haskell 中的单个列表元素 https stackoverflow com questions 5852722 replace individual list elements in ha
  • 我可以在类中设置常量,然后在 PHP 中外部访问它吗?

    我正在尝试初始化类内的一些值并将它们保存在常量中并在外部代码的不同部分中访问它们
  • 更新列表的第 'x' 个元素 - Haskell [重复]

    这个问题在这里已经有答案了 可能的重复 替换 Haskell 中的单个列表元素 https stackoverflow com questions 5852722 replace individual list elements in ha