gpt4 book ai didi

haskell - 创建 Int 和函数列表 Int -> Int -> Int

转载 作者:行者123 更新时间:2023-12-04 13:13:31 28 4
gpt4 key购买 nike

除了创建对列表执行简单操作的函数之外,我对 haskell 还是很陌生。我想创建一个列表,其中包含 Int 类型的内容, 和 Int -> Int -> Int 类型的函数.

这是我尝试过的:

data Token = Value Int | Operator (Int -> Int -> Int)

tokens :: [Token]
tokens = [12, (+)]

但我收到以下错误
Couldn't match expected type `Token'
with actual type `Integer -> Integer -> Integer'
In the expression: (+)
In the expression: [12, (+)]
In an equation for `tokens': tokens = [12, (+)]

我不确定为什么这不起作用,谁能指出我正确的方向?

最佳答案

您需要使用构造函数来获取 Token 类型的值.例如,12不是 Token 类型, 它的类型为 Int (好吧,Num a => a)。同样,(+)不是 token 而是函数Int -> Int -> Int .请注意 Token /= Int -> Int -> Int .

幸运的是,您已经定义了一些构造函数,例如 Value :: Int -> TokenOperator :: (Int -> Int -> Int) -> Token .所以使用我们得到的那些:

tokens :: [Token]
tokens = [Value 12, Operator (+)]

关于haskell - 创建 Int 和函数列表 Int -> Int -> Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173913/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com