我试图定义一个函数来帮助我在使用 8 位数字时模拟基本操作。
我很难弄清楚这一点。我试图在不导入任何内容的情况下使其尽可能简单,因此我从其中包含 8 个元素的两个列表开始(分别是 0 和 1)。
如果我没记错的话,它应该开始看起来像这样:
bitsum :: [Int] -> [Int] -> [Int]
bitsum [][] = []
在这最后一行之后,它开始对我来说有点棘手,因为我无法将列表中的元素一对一添加。
bitsum (x:xs)(y:ys)
这就是我现在所拥有的所有我认为是正确的。
我的想法是尝试这样的事情:
bitsum :: [Int] -> [Int] -> [Int]
bitsum [][] = []
bitsum (x:xs)[] = (x:xs)
bitsum [](y:ys) = (y:ys)
bitsum (x:xs)(y:ys) | (x:xs) == (y:ys) && < 0 = (x:xs)
| (x:xs) == (y:ys) && > 0 =
但我想我在某个地方走错了路。
如果有人能帮我解决这个问题,我将不胜感激。