这是一个展示该问题的 GHCI 会话:
Prelude> import Network
Prelude Network> PortNumber 1234
PortNumber 1234
Prelude Network> let n = 1234
Prelude Network> PortNumber n
<interactive>:5:12:
Couldn't match expected type `PortNumber'
with actual type `Integer'
In the first argument of `PortNumber', namely `n'
In the expression: PortNumber n
In an equation for `it': it = PortNumber n
为什么这不起作用?给定一个存储在 an Integer
(或 a Word16
,我正在读取用户输入以便我可以灵活)中的变量,为什么我不能将它传递给PortNumber
?