首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建Num的实例时,negate出错

创建Num的实例时,negate出错
EN

Stack Overflow用户
提问于 2013-05-16 19:09:47
回答 1查看 302关注 0票数 0

我已经为复数创建了一个数据类型,并且我正在尝试为该数据类型创建一个Num实例。我一直在尝试添加negate行,因为它是我的show函数所必需的,但是我总是得到这个错误-- "negate“不是一个数据构造函数。

以下是该实例的代码:

代码语言:javascript
复制
instance Num Complex where
  (C u v) + (C x y) = (C (u+x) (v+y))
  (C u v) * (C x y) = (C (u*x) (-v*y)) + (C (v*x) (u*y))
  (C u v) - (C x y) = (C (u+(-x)) (v+(-y)))
  negate
  abs       (C x y) = C (root (x*x + y*y)) 0
  signum    (C x y) = if (x==0 && y==0) then 0 else 1
  fromInteger    n  = C (fromInteger n) 0

任何帮助填写否定行的人都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-16 19:54:28

我假设你这样做是为了学习练习,否则你会简单地use Data.Complex,对吗?

所以,I shall answer your question by asking you another question,而不是简单地给你答案。

代码语言:javascript
复制
negate {-something-} = {-something-}

你能填上这两个“某物”中的任何一个吗?如果你不能完全填充其中的一个,那就足够公平了,但要清楚地知道剩余的空白在哪里需要填充。

顺便说一句,你对signum的定义是错误的。(您应该拥有适用于所有zabs z * signum z = z。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16585868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档