小编Ear*_*thy的帖子

列出由一个列表组成的自有类型的操作

我得到的类型" Signal"只是一个双打列表,我想使用正常的列表操作,如本机上[Double].这应该是可能的,但它不会编译.您如何向编译器语法正确描述这一点.

这是测试代码:

data Signal = Signal [Double] deriving(Show, Eq)

test :: Signal
test = Signal [1.0,2.0,3.0]

take2 :: Signal -> Signal
take2 s = take 2 s
Run Code Online (Sandbox Code Playgroud)

预期: take2 test = [1.0,2.0]

实际:

"Couldn't match expected type ‘Signal’ with actual type ‘[a0]’
In the expression: take 2 s
In an equation for ‘take2’: take2 s = take 2 s"
Run Code Online (Sandbox Code Playgroud)

haskell ghci

0
推荐指数
1
解决办法
56
查看次数

标签 统计

ghci ×1

haskell ×1