小编Osa*_*Osa的帖子

在Haskell中更改getLine异常的退出值

我正在Haskell的一个学生项目中工作,而getLine的行为存在问题。这是代码(简体):

main :: IO()
main = do
str <- getLine
putStrLn str
Run Code Online (Sandbox Code Playgroud)

我想做的是,当用户按下Ctrl + D时,能够退出With(ExitFailure 84)。getLine只是打印一个错误并退出程序(并返回1)

deBruijn: <stdin>: hGetLine: end of file
Run Code Online (Sandbox Code Playgroud)

如何改变这种行为?我只想将退出值更改为84。

haskell

3
推荐指数
1
解决办法
72
查看次数

如何在Haskell中解析字符串中的整数

我正在尝试解析格式的字符串:

(x,y) (r,g,b)
Run Code Online (Sandbox Code Playgroud)

我的文件在每一行上都包含这种字符串。我已经提取了线条,现在我想提取其值,但找不到满意的东西。我想做类似的事情:

case str of
['(', x, ',', y, ')', ' ', '(', r, ',', g, ',', b, ')'] -> The rest
Run Code Online (Sandbox Code Playgroud)

我知道它不起作用,我是Haskell的新手,所以我一直遇到我不明白的错误。我该怎么做?

编辑:我之前已经创建了这个,但是一旦创建了变量,我不知道如何真正使用它:

data Points = Point Coords Colors
data Colors = Color Float Float Float
data Coords = Coord Int Int
Run Code Online (Sandbox Code Playgroud)

数字不限于一位,r,g和b的范围是0到255。

string parsing haskell point character

0
推荐指数
1
解决办法
62
查看次数

标签 统计

haskell ×2

character ×1

parsing ×1

point ×1

string ×1