Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 从控制台读取INT类型的列表,并使用列表理解仅打印给定列表中的偶数_Haskell_List Comprehension - Fatal编程技术网

Haskell 从控制台读取INT类型的列表,并使用列表理解仅打印给定列表中的偶数

Haskell 从控制台读取INT类型的列表,并使用列表理解仅打印给定列表中的偶数,haskell,list-comprehension,Haskell,List Comprehension,我对Haskell的函数式编程非常陌生,几天前我通过做一些任务开始学习函数式编程 我正在尝试编写一个函数,该函数将从控制台读取INT类型的列表,并使用列表理解仅打印给定列表中的偶数。这就是我所拥有的: [x | x <- [nums], x == even, x <= 50] [x|x您所写的有几个小错误: [x | x <- [nums], x == even, x <= 50] 现在,对于从控制台读取值,您可以从main进行读取,因为它需要IO: main ::

我对Haskell的函数式编程非常陌生,几天前我通过做一些任务开始学习函数式编程

我正在尝试编写一个函数,该函数将从控制台读取INT类型的列表,并使用列表理解仅打印给定列表中的偶数。这就是我所拥有的:

[x | x <- [nums], x == even, x <= 50]

[x|x您所写的有几个小错误:

[x | x <- [nums], x == even, x <= 50]
现在,对于从控制台读取值,您可以从
main
进行读取,因为它需要
IO

main :: IO ()
main = do
  putStrLn "Enter space-separated list of numbers."
  line <- getLine
  let nums = map read (words line) :: [Int]
  print [x | x <- nums, even x, x <= 50]
main::IO()
main=do
putStrLn“输入以空格分隔的数字列表。”

大家好,伙计,欢迎来到StackOverflow。这类问题真的不属于这里,因为通过简单的谷歌搜索可以找到很多教程,帮助您开始Haskell。小心,祝您好运!我不确定您的问题是什么,但基本上您的代码都不对(除了
[x | x我建议您将您的需求分成几部分:1.一个函数,它获取一个整数列表,并从该列表中仅返回一个偶数整数列表。2.一个函数,它读取一个输入并返回一个整数列表。编写一个
main
函数,使用这两个函数。一旦您得到了一个有效的函数,您就可以n迭代以将其简化为单个列表。
main :: IO ()
main = do
  putStrLn "Enter space-separated list of numbers."
  line <- getLine
  let nums = map read (words line) :: [Int]
  print [x | x <- nums, even x, x <= 50]