【发布时间】:2015-12-31 14:43:52
【问题描述】:
我有这样的导入:
import qualified Bioinformatics.DNA as DNA
来自另一个看起来像这样的文件:
data DNA = A | C | G | T
deriving (Eq, Ord, Show)
并且在这个函数中的模块RNA里:
module Bioinformatics.RNA
( RNA
, fromDna
) where
import qualified Bioinformatics.DNA as DNA
data RNA = A | C | G | U
deriving (Eq, Ord, Show)
fromDna :: DNA.DNA -> RNA
fromDna DNA.A = A
fromDna DNA.C = C
fromDna DNA.G = G
fromDna DNA.T = U
我收到错误:
/home/thibaud/code/bioinformatics/src/Bioinformatics/RNA.hs:46:9:
Not in scope: data constructor ‘DNA.A’
/home/thibaud/code/bioinformatics/src/Bioinformatics/RNA.hs:47:9:
Not in scope: data constructor ‘DNA.C’
/home/thibaud/code/bioinformatics/src/Bioinformatics/RNA.hs:48:9:
Not in scope: data constructor ‘DNA.G’
/home/thibaud/code/bioinformatics/src/Bioinformatics/RNA.hs:49:9:
Not in scope: data constructor ‘DNA.T’
你知道为什么吗? 谢谢
【问题讨论】:
-
您可能不需要
data A ; ...; data T类型定义。只要您按照以下答案中的说明导出和导入它们,值构造函数就足够了。
标签: haskell