首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将列表转换为一组坐标[Haskell]

将列表转换为一组坐标[Haskell]
EN

Stack Overflow用户
提问于 2014-11-30 03:58:25
回答 1查看 1.1K关注 0票数 1

我是一个初学程序员,并且有我的头几个编程课程。我们从函数式编程开始,在本例中使用Haskell。我已经成功地完成了一些任务,但似乎卡在了一点上,希望能得到一些帮助。

为了不让您对整个代码感到厌烦,我的程序现在正在从一个文本文件中提取一个命令列表。我需要把这个列表转换成一组坐标。我的意思是这样的东西:

代码语言:javascript
复制
function :: [String] -> (Int, Int, Char)

其中该函数将接收例如列表"0 0 N“并输出坐标和方向(0,0,N)。

我试着这样做:

代码语言:javascript
复制
function [x y o] = (show x, show y, read o)

如果它只是整数,这将会起作用。我似乎不能让Char部分工作。如果这是一个如此幼稚的问题,我很抱歉,但请容忍我,我真的对这一切都是新手。

谢谢并致以最良好的问候!

EN

回答 1

Stack Overflow用户

发布于 2014-11-30 04:29:03

对于您的特定测试用例,这应该是可行的:

代码语言:javascript
复制
function [(x:' ':y:' ':o:_)] = (read [x], read [y], o)

如果你的字符串包含空格,如果你想这样做,你也需要匹配它们。

但这可能不是你真正想要的。对于像["12 23 S"]["3 5 W", "2 8 E"]这样的输入,它会中断。

如果您的输入实际上是一个字符串列表,就像您的签名所说的那样,您可能应该编写两个函数:一个处理单个字符串,另一个将另一个函数应用于列表中的所有字符串。查看函数mapwords,并考虑如何使用它们来解决问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27206480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档