【发布时间】:2015-12-27 04:15:21
【问题描述】:
我在 Haskell 中有两个列表。
包含字符串值的原始列表:
["Hello", "HELLO", "", "WORLD", "xxx", "world"]
包含整数值的索引列表,其中字符串在原始列表中都是大写的:
[1,3]
我用我创建的函数增加了索引列表中的所有值并制作了index2 列表,总体看起来像这样:
我的代码:
import Data.List
import Data.Char
import Data.Maybe
main = do
contents <- readFile "h.txt"
let original = lines (contents)
let allUpper = lines (map toUpper contents)
let onlyUpper = filter(/="") (intersect original allUpper)
let upperIndex = findIndices ('elem' onlyUpper) original
let index2 = (map increment upperIndex)
print index2
increment :: Int -> Int
increment x = x+1
在您的帮助下,我已经走到了这一步。但是,由于我是初学者,我似乎不明白列表的迭代是如何工作的。
我要完成的事情是检查对应的索引值(在index2中)是否在原始列表中为空,如果它们为空,我想在index2中删除它们。
【问题讨论】:
-
谢谢你给我的问题减分(!)
-
@Kevin Guan,谢谢!
-
那是截图。
-
网站不接受。所以,我不得不做一个屏幕截图。对不起。
-
网站怎么不接受?因为你不能保持正确的格式?