给出(来自Haskell Amuse Bouche Lectures)
module Part2a where
data List ? = EndOfList
| Link ? (List ?)
deriving Show -- makes printing out results possible
Run Code Online (Sandbox Code Playgroud)
用法示例:
empty = EndOfList
oneWord = Link "apple" EndOfList
twoWords = Link "banana" (Link "cantaloupe" EndOfList)
Run Code Online (Sandbox Code Playgroud)
问题:"链接"功能在哪里定义?
我到处搜索,找不到它.
Link是你的List a类型的第二个构造函数.它在这里定义:
data List ? = EndOfList
| Link ? (List ?) -- this line defines the Link constructor
Run Code Online (Sandbox Code Playgroud)
它在您的第二个代码段中用于创建类型的值List String.