没有由文字“1”产生的 Num String 实例

2024-06-18

main = do  
    putStrLn $myLast [1,2,3,4]

myLast :: [a] -> a
myLast [x] = x
myLast (_:xs) = myLast xs

当我尝试运行此代码时,我收到此消息:

“没有由文字‘1’产生的 (Num String) 实例 可能的修复:为(Num String)添加实例声明”

当我使用列表 ["1","2","3,"4"] 运行时,它运行良好。我没有指定类型,但它不适用于整数。


“没有...的实例”错误消息通常具有误导性。

你遇到的问题很简单

前奏> :t putStrLn
putStrLn::String -> IO ()

即该函数只能处理strings,而不是数字。一个常见的解决方案是首先将要显示的内容转换为字符串:putStrLn (show x),但实际上该组合作为一个更好的标准函数存在:

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

没有由文字“1”产生的 Num String 实例 的相关文章

  • 带有查询参数的渲染 url

    无法找到简单问题的解决方案 答案应该是显而易见的 如何在 hamlet 模板中使用查询参数渲染 url I e ItemsR 将生成http localhost 3000 items我如何生成类似的东西http localhost 3000
  • Haskell 和 Idris 之间的区别:类型宇宙中运行时/编译时的反映

    因此 在 Idris 中 编写以下内容是完全有效的 item b Bool gt if b then Nat else List Nat item True 42 item False 1 2 3 cf https www youtube
  • Haskell 排列库函数 - 请澄清一下?

    这是代码permutationsHaskell 中的函数Data List module permutations a gt a permutations xs0 xs0 perms xs0 where perms perms t ts i
  • 如何使用 Haskell 提交 html 表单

    我知道如何使用http 管道 http hackage haskell org package http conduit 2 1 0包的 simplehttp 从 URL 检索页面 现在如果那样的话怎么办 网页有一个输入文本字段和一个提交按
  • 在一元上下文中使用 Data.Map

    我正在操作的地图具有单子键 类型为IO Double 我需要使用findMax在这张地图上 我可以用吗liftM为了这 Map findMax Map fromList f x X f y Y f z Z Here f x有类型IO Dou
  • 为什么我不能将 Int 类型与 a 类型匹配

    哈斯克尔新手在这里 我在这里尝试做的事情的一个过于简单的例子 test Int gt a test i i Couldn t match expected type a with actual type Int a is a rigid t
  • Haskell 中的所有图形和 Web 库是如何实现的?

    我才开始学习Haskell 我读到它是一种纯函数式语言 其中的所有内容都是不可变的 因此 输入输出 写入和读取数据库之类的事情会导致状态的可变性 我知道 Haskell 中有一种叫做 monad 的东西 它允许在 Haskell 中使用命令
  • 为什么 Haskell (Hugs) 中的 Show 实例会导致堆栈溢出错误?

    下面是 Haskell 中的多态数据类型 由 Hugs 解释 我正在尝试创建一个 Show for Equality 的实例 实例声明表示 如果类型 a 在 Show 中 则相等 a 在 Show 中 它应该以 a b 的形式打印构造函数
  • 如何构造 Network.HTTP.Conduit.Request 对象?

    试图构建一个Request with 网络 HTTP 管道 http hackage haskell org packages archive http conduit 1 1 0 1 doc html Network HTTP Condu
  • 有 Haskell 日期库吗?

    Haskell 中是否有一个函数允许我输入日期的组成部分 如字符串表示形式或日月年组成部分 我可以从中获取信息 如星期几 一个月中的天等 我在网上查了一下 看起来有很多自定义库 但我希望 ghci 10 6 4 的标准前奏库中有一个没有很好
  • haskell复制目录的方法是什么

    我发现自己用 Haskell 编写越来越多的脚本 但在某些情况下 我真的不确定如何 正确 地做到这一点 例如递归地复制目录 a la unixcp r 由于我主要使用 Linux 和 Mac OS 所以我通常会作弊 import Syste
  • ~/.cabal/config 中的“共享”是什么意思?

    我想 共享 会让cabal install更快 对吧 共享的默认值为 False 我们应该使用 True 还是 False 来共享 thanks 这意味着 还构建动态链接 又名共享 版本的库 这些版本与cabal install cabal
  • 加快 GHC 中的编译速度

    除了 O0 这可以加快编译时间吗 如果生成的程序未被优化也没关系 实际上我只想经常快速地对大型 haskell 包进行类型检查 Flag fno code极大地加快了编译速度 但无法使用它 因为该程序使用了 TemplateHaskell
  • 使用 GHC.Generics 恢复类型定义

    昨天我尝试回答这个问题是关于数据类型的表示 https stackoverflow com questions 22715572 a serializable representation of a data type for client
  • Haskell 中是否可以部分应用第 n 个参数?

    我很好奇是否可以写一个函数apply nth它接受一个函数 参数的数量以及该参数的值 然后返回一个新的 部分应用的函数 我的感觉是 由于类型系统的原因 这是不可能的 但我无法给出令人满意的答案 我也无法提出工作类型签名 如果语言的类型更加松
  • 我可以在程序内更改堆栈大小限制吗?

    我可以通过传递配置 GHC 编译的 Haskell 程序的最大堆栈大小 RTS Kn到它 在哪里n是某个数字 有没有办法在程序内更改此设置 我想对各种函数的堆栈消耗进行基准测试 因此尝试在各种限制下运行它 捕获StackOverflow例外
  • 无法让 wxHaskell 在 Mac 上从 ghci 工作

    我正在尝试跑步一个例子 http www haskell org haskellwiki WxHaskell Quick start Hello world in wxHaskell using EnableGUI function htt
  • Haskell 中的随机枢轴快速排序

    是否有可能在 Haskell 中实现快速排序 使用 RANDOM PIVOT 但仍然有一个简单的Ord a gt a gt a 签名 我开始了解 Monad 目前 我将 monad 解释为某种 命令模式 这对于 IO 非常有用 所以 我知道
  • 自动函子实例

    给定以下代数类型 ghci gt data Foo a Foo a 然后我实例化其中之一 ghci gt let f Foo foo 最后 我想打电话给fmap将函数应用为 a gt b gt Foo a gt Foo b ghci gt
  • 数据记录的类约束

    我有一个data type data BuildException a KillBuild JobID a Stage FailBuild JobID a Stage CancelBuild JobID a Stage StopBuild

随机推荐

  • Swift:本地化字符串数组

    我有一个包含 100 多个字符串的数组 其设置如下所示 有什么方法可以本地化数组中的所有字符串 或者这是设置它的更好方法吗 var listOfThings Cars Mopeds 我建议将字符串放入 plist 文件中 然后可以根据需要本
  • 如何动态创建 Dapper 查询的参数

    我有一个值字典 例如 Name Alex 有没有办法将其作为查询参数传递给 Dapper 这是一个显示我想要做什么的示例 IDictionary
  • POINT 列上的 MySQL INSERT/UPDATE

    我正在尝试用我国家的地理位置填充我的数据库 我的一张表有 4 个字段 ID PK 纬度 经度和地理点 EDIT SCDBs Punto Geografico SET lat 18 469692 SET lon 63 93212 SET g
  • 使用 Google 脚本移动 Google Drive 中的文件

    我正在尝试使用通过 Google 表单发布的信息创建文档 然后在创建文档后 我想将该文档移至共享文件夹中以供人们查看 目前 我的脚本从 Google Forms 链接的电子表格中获取所有信息 使用该信息 我使用以下代码来创建文档 var t
  • sscanf("123456789123456789123456789", "%d", &n) 是否有定义的行为?

    When sscanf 或来自的另一个函数scanffamily 被赋予一个数字序列 其转换后的值超过目标整数类型的最大值 是否应该认为转换失败 行为是否已被定义 根据标准 7 21 6 2p10 f scanf 适用于整个家庭 如果这个对
  • ExecutorService 应该是静态的和全局的

    我想在我的应用程序中使用相同的线程池 为此 我可以使ExecutorService静态和全局 以便我可以调用ThreadUtil executorService to get ExecutorService当我需要它的时候 public c
  • 在 docker 构建期间设置 DNS 选项

    由于本地网络配置 我必须将 dns 和 dns search 选项添加到我的 docker run 命令中 如下所示 docker run dns XX XX 1 1 dns search companydomain t mycontain
  • 需要野科切吗?没有要加载的文件

    我正在尝试开始使用 Nokogiri 我运行了命令 gem install nokogiri 作为 Windows 7 64 位 中的管理员 控制台显示 已成功安装 和 已安装 1 个 gem 当我输入时 gem list local OR
  • Plesk 11 强制重定向到非 www

    我已经订购了装有 Plesk 11 的新专用服务器 将我的网站从旧服务器移至新服务器 但在打开网站时遇到一些问题 使用 htaccess 我强制客户端使用带有 www 的网站 Plesk 默认情况下执行相反的操作 www 到非 www 结果
  • 如何绘制每个分割对象的轮廓

    我应用分水岭分割来检测触摸对象 这样做效果很好 现在 我想绘制每个对象的轮廓 这样我就可以获得它们的长度 面积 矩等 但是分割结果中的对象仍然是触摸的 所以 我没能画出每一个的轮廓 如何绘制每个对象的轮廓 include
  • 将通配符包标识符转换为单个 ID

    我在应用程序商店中有一个使用通配符包标识符的应用程序 我想实现应用内购买 这需要非通配符ID 如何将现有应用的通配符 ID 转换为静态 ID 以进行应用内购买和推送通知 应用程序的捆绑标识符在更新之间必须始终保持相同 但 AppID 实际上
  • ScrollViewer 滚动条始终禁用

    我是 xaml 和 wpf 的新手 我正在尝试将一些用户控件从代码隐藏插入到容器中 我已阅读此博客文章MSDN http blogs msdn com b marcelolr archive 2009 06 09 stackpanel do
  • 如何向 PyQt5 GUI 添加线程?

    所以我使用 QT Designer 创建了一个 GUI 它工作得很好 但在更复杂的调用中 它不会更新主窗口并锁定 我想运行我的CustomComplexFunction 在根据不断变化的后端信息更新主窗口中的文本编辑时 我希望它每 2 秒运
  • 为什么我的项目没有显示在 JFrame 中?

    我对 JFrame 相当陌生 我想知道为什么我的项目没有显示在窗口上 我知道我没有 ActionHandler 但我只想让我的文本字段显示在我的窗口上 这是我的代码 import java awt Font import javax swi
  • npm 如何处理循环依赖?

    只是想知道 如果有一个具有循环 循环依赖的包 npm 会处理它吗 如何 我用谷歌搜索但找不到非常有用的结果 我在这里可以想到两种问题 相同版本的循环依赖 A gt B B gt C C gt A npm 是否像这样构建依赖关系 只是我的猜测
  • Dart - 何时在集合上使用 Collection-For-In 与 .Map()

    collection for in 操作和 map 方法都可以返回对先前集合中的元素的一些操作 是否有任何理由更喜欢使用其中一种而不是另一种 var myList 1 2 3 var alteredList1 for int i in my
  • 无效的捆绑包...包含不允许的文件“frameworks”

    我尝试通过应用程序加载器发布我的应用程序 但我不断收到此错误 我试过了这个解决方案 https stackoverflow com questions 25777958 validation error invalid bundle the
  • 让我的函数访问外部变量

    我外面有一个数组 myArr array 我想让我的函数访问其外部的数组 以便它可以向其中添加值 function someFuntion myVal some processing here to determine value of m
  • 将 Maven 工件与其依赖项递归地发布到本地 Ivy 存储库

    我必须将一组依赖项镜像到我公司本地的 Ivy 存储库 我目前需要发布Hibernate Spatial 4 0 M1 在我的 Eclipse 项目中 如果启用远程存储库 我只能解析 Ivy 依赖项
  • 没有由文字“1”产生的 Num String 实例

    main do putStrLn myLast 1 2 3 4 myLast a gt a myLast x x myLast xs myLast xs 当我尝试运行此代码时 我收到此消息 没有由文字 1 产生的 Num String 实例