在 Haskell 代数数据类型中进行选择

2024-01-09

当键入X定义为:

data X = 
    X { sVal :: String } |
    I { iVal :: Int } |
    B { bVal :: Bool }

我想要Int里面一个X值,如果有则为一,否则为零。

returnInt :: X -> Int

我如何确定是哪种类型X论据returnInt is?


使用模式匹配。

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

在 Haskell 代数数据类型中进行选择 的相关文章

  • 将系统命令的结果绑定到 Haskell 中的变量

    如何在 Haskell 中运行系统命令and将其结果 即标准输出 绑定到变量 在伪 Haskell 中 我正在寻找类似以下内容的内容 import System Process main do output lt callCommand e
  • 访问函数中的环境

    In main我可以读取我的配置文件 并将其提供为runReader somefunc myEnv正好 但somefunc不需要访问myEnv读者提供 链中的下一对也没有提供 需要 myEnv 中某些内容的函数是一个微小的叶函数 如何在不将
  • Haskell 中的前提条件检查有哪些选项

    这是一个简单的问题 我认为答案很复杂 一个非常常见的编程问题是函数返回某些内容 或者前置条件检查失败 在Java中 我会使用一些抛出异常的断言函数IllegalArgumentException在方法的开头 如下所示 method body
  • 如何从数组表示构建不完全二叉树

    如果输入是一个数组 其中null表示没有节点 input 1 2 3 null 5 null 7 请假设我已经检查过输入 对于每个array i 它的父母array i 2 不会是null 递归地 所以根不能是null 如何构建具有这样的逻
  • 如何从 haskell 中的 IOError 获取 errno?

    我在 haskell 平台上 GHC 6 12 1 作为 apt get 安装在 Debian Squeeze 上 鉴于我需要在与最初引发它的线程不同的线程上使用它 如何从 IOError 中获取底层 errno 我需要这个的原因是因为我正
  • 在 Haskell 中增长数组

    我想在 Haskell 中实现以下 命令式 算法 给定一个序列对 e0 s0 e1 s1 e2 s2 en sn 其中 e 和 s 部分不一定是自然数不同的是 在每个时间步都会随机选择该序列的一个元素 例如 ei si 并根据 ei si
  • Haskell scala 互操作性

    我是 Scala 初学者 来自面向对象范式 在了解 Scala 的函数式编程部分时 我被引导到 Haskell 纯函数式编程语言 探索 SO 问题答案 我发现 Java Haskell 具有互操作性 我很想知道 Scala Haskell
  • System.Web.HttpException 无法加载类型“[命名空间].???”

    这开始于无法加载类型 全局 错误 在我尝试了一些方法后 没有找到删除 Global asax 文件的位置 现在错误是无法加载类型 namespace 在哪里 是我尝试加载的每个页面的类名 该网站 在 VS2008 本地开发计算机中执行时 工
  • Haskell:是的,没有类型类。为什么是整数?

    我有一个关于 GHCi 如何假定整数类型的问题 我正在阅读 Learn you a Haskell 是 否类型的课程 如果您想阅读全文 这里有一个链接 http learnyouahaskell com making our own typ
  • 搜索重写规则

    有什么办法可以浏览或搜索重写规则吗 当我使用像这样的标志时 ddump rule firings or ddump rule rewrites我只是得到了触发的规则的名称以及它引起的重写 但没有得到实际的规则本身 理想情况下 我想通过 GH
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • Haskell,堆栈:找到可执行文件

    我正在寻找类似的东西 stack whereis hasktags where whereis行为或多或少类似于 UNIXwhereis命令 hasktags是这样运行的 stack exec hasktags stack exec whe
  • Haskell 中的分类结构

    Hask通常被认为是一个范畴 其对象是类型 态射是函数 然而 我看到 Conor McBride pigworker 警告不要使用Hask多次 1 https stackoverflow com a 45905082 474311 2 ht
  • 如何在 Haskell 中安装库?

    我尝试使用控制 Monad Extra andM https hackage haskell org package extra 1 7 10 docs Control Monad Extra html import Control Mon
  • 多 AVL 树旋转

    假设我有一个无序集合 s 3 6 5 1 2 4 并且我需要构造一个 AVL 树 就这么多了 我了解基本的旋转 我在这里达到这一点 5 2 6 1 3 但当我尝试插入 4 时 一切都崩溃了 我得到的最终答案是 左边的 4 But the a
  • 具有继承类型的 Aux 模式推理失败

    我有一个复杂的玩具算法 我希望纯粹在类型级别上表示 根据饮食要求选择当天菜肴的修改 对卷积表示歉意 但我认为我们需要每一层才能达到我想要使用的最终界面 我的代码有一个问题 如果我们表达一个类型约束Aux 模式生成的类型基于另一个泛型类型 它
  • 树的递归和非递归过程

    我们知道树是递归数据结构 我们在编写树的过程中使用递归 例如BST的删除方法等 递归的好处是 我们的程序变得非常小 例如中序遍历的代码只有4或5行 而不是非递归程序 虽然会很长 但从理解的角度来看 不像递归程序那么复杂 这就是为什么我讨厌递
  • 如何有效地找到距给定点最远的点(从一组点中)?

    我正在寻找一种算法或数据结构来解决以下问题 给你一组点 S 然后你会得到另一个点形式的 Q 查询 对于每个查询 找到集合中距离给定点最远的点 集合中最多有 10 5 个点和 10 5 个查询 所有点的坐标都在 0 到 10 5 范围内 我想
  • 标准的能力

    我发现了一些使用标准的旧例子here http www serpentine com blog 2009 09 29 criterion a new benchmarking library for haskell 看起来好像早在 2009
  • 如何在 Haskell 中制作打勾游戏的图案?

    实现有 2 个参数的函数 ticktick 第一个参数是自然数元组 定义游戏场地的行数和列数 第二个列表包含由玩家 x 和玩家 o 轮流玩的坐标给出的井字游戏比赛的记录 打印游戏的实际状态 其中游戏区域将由字符 和 界定 空方块 以及字符

随机推荐

  • 在 Python 中打印时处理 NoneType 对象的好方法

    如何在 Python 中打印 NoneType 对象 score can be a NonType object logging info NEW SCORE score 另外 为什么有时我会看到逗号而不是上面的 最好的方法是 loggin
  • 跟踪数组中的最小数字

    我试图跟踪最低数字的分数 如果我找到这些玩家的最低分数 我不希望他们在下一轮中再次参加比赛 我已经到了将那些低玩家价值存储到数组中的地步 但我只想将它们存储一次 for int i 0 i lt player length i for in
  • 回收者视图内动态视图的问题

    我正在使用回收器视图来显示包含图像网格布局的项目列表 网格布局动态添加到回收器视图适配器上 onBindViewHolder 方法内的列表项 现在的问题是 每次滚动时都会重新创建网格布局视图 我不希望在滚动时重新创建这些视图 怎么处理呢 这
  • 多个附件 django 电子邮件

    您好 我尝试发送带有多个附件的电子邮件 如 pdf xml 等 但出现错误 list object has no attribute rfind 这是我的代码 from security views import SendEmail Env
  • 我们如何显示来自 Picasa java API 的照片?

    好吧 这似乎是一个愚蠢的问题 因为我们有this http code google com intl en apis picasaweb docs 2 0 developers guide java html 但是 到目前为止 我只能使用以
  • 传递 MethodHandles.lookup().lookupClass() 与传递 Class 到 getLogger 方法

    我最近遇到了一个声明如下的记录器 private static final Logger logger LoggerFactory getLogger MethodHandles lookup lookupClass 与像这样 正常 声明相
  • Symfony2.1 - 使用 DataTransformer 时选项“em”不存在

    我在用this http symfony com doc master cookbook form data transformers html在 Symfon 2 1 中添加数据转换器的食谱食谱 但我收到以下错误 The option e
  • _GLIBCXX_USE_CXX11_ABI 在 RHEL6 和 RHEL7 上禁用?

    我在 RHEL6 和 RHEL7 上安装了 gcc 5 2 1 看起来 GLIBCXX USE CXX11 ABI 被禁用了 即使我手动运行也不起作用 D GLIBCXX USE CXX11 ABI 1 std c 14 这意味着我不会获得
  • 从 django 循环中提取值

    我有一个 Django 应用程序 我在模板中使用以下内容 load mptt tags ul recursetree nodes li node name if not node is leaf node ul class children
  • 如何运行量角器?

    我对量角器很陌生 我在 Windows 命令行中运行它 我按照这个教程进行操作https github com angular protractor blob master docs getting started md https git
  • IBM Worklight - 在服务器端包含 JavaScript 库

    我正在使用 IBM Worklight 构建移动应用程序 在适配器中 我需要使用第三方 JavaScript 文件提供的一些功能 我想知道是否可以在服务器上包含这样的文件 如果不是 还有什么替代方案 目前无法在适配器代码中包含外部 Java
  • Spring REST API 中的 Json 模式验证

    我正在使用 Spring Boot 和 jackson module jsonSchema 构建 REST API https github com FasterXML jackson module jsonSchema https git
  • 为具有相同类的元素添加点击事件监听器

    我有一个删除 id 的列表视图 我想为具有特定类的所有元素添加一个侦听器 并执行确认警报 我的问题是 这似乎只将侦听器添加到它找到的类的第一个元素 我尝试使用querySelectorAll但没有成功 var deleteLink docu
  • 将命令行 tf checkin 链接到工作项

    我想通过以下方式将文件提交到 TFS 存储库tf命令行工具并将提交链接到 TFS 工作项 我该怎么做 我已经提交了我的文件 但没有指向工作项目的链接 我的命令添加一个新文件并提交更改 gt tf add foo cpp gt tf chec
  • 如何使用 Zeppelin 访问 aws spark-ec2 集群和 s3 存储桶

    我有一个通过 Spark ec2 脚本设置的 aws ec2 集群 我想配置 Zeppelin 以便我可以在 Zeppelin 本地编写 scala 代码并在集群上运行它 通过 master 此外 我希望能够访问我的 s3 存储桶 我跟着本
  • 无法加载文件或程序集>'System.Windows,版本=2.0.5.0

    首次加载 Silverlight 应用程序时 我不断收到此错误 无法加载文件或程序集 系统 Windows 版本 2 0 5 0 文化 中立 PublicKeyToken 7cec85d7bea7798e 或 它的依赖项之一 系统 找不到指
  • 我应该记录类似函数签名的参数吗?

    我有一些辅助函数 除了第一个参数之外 它们采用与核心函数相同的参数 这些参数被完整记录在核心函数中 我是否也应该将此文档复制粘贴到辅助函数中 或者只是指向核心文档 重要的是 我主要希望将我的 API 参考作为 Sphinx 生成的 HTML
  • 获取列表框中所选项目的文本

    我试图在消息框中显示 listBox1 的选定项目 代码如下 int index string item foreach int i in listBox1 SelectedIndices index listBox1 SelectedIn
  • 使用 Spring 的 @RequestBody 并随后读取 HttpServletRequest.getInputStream()

    我正在使用 Spring 将请求的 JSON POST 数据映射到一个对象中 RequestBody注释和MappingJacksonHttpMessageConverter 但之后我想读取数据String表单进行一些额外的身份验证 但是当
  • 在 Haskell 代数数据类型中进行选择

    当键入X定义为 data X X sVal String I iVal Int B bVal Bool 我想要Int里面一个X值 如果有则为一 否则为零 returnInt X gt Int 我如何确定是哪种类型X论据returnInt i