从另一个模块导入 Newtype(s)
Importing Newtype(s) from another module
我最近在学习 PureScript 并做了一个在屏幕上绘制立方体的小应用程序。一切都很好,我在 Main
模块的顶部定义了一些 newtype
,如下所示:
newtype Vec2 = Vec2
{
x :: Number
, y :: Number
}
newtype Vec3 = Vec3
{
x :: Number
, y :: Number
, z :: Number
}
我还有一些函数可以进行转换,例如 perspectiveDivide
等,我想将它们移到另一个模块 Transforms
只是为了更好地组织。所以我将这些类型移动到 Transforms 模块,并导出它们。
module Transforms (Vec2, Vec3, perspectiveDivide) where
以上类型依此。
现在我尝试使用选择性导入功能将它们导入到主模块中,但没有成功。
import Transforms (Vec2, Vec3, perspectiveDivide)
但是在尝试使用仍在主模块中的函数 projectToScreen
时它仍然给了我一个错误。错误是这样的:
in module Main at src/Main.purs line 30, column 10 - line 30, column
18
Unknown data constructor Vec3
See
https://github.com/purescript/documentation/blob/master/errors/UnknownName.md
for more information, or to contribute content related to this
error.
我是函数式编程和 PureScript 的新手。这个错误是什么意思?
module Transforms (Vec2, Vec3, perspectiveDivide) where
仅导出类型构造函数。
您还想使用 Vec2(..)
导出数据构造函数。相同的语法适用于导入。
我最近在学习 PureScript 并做了一个在屏幕上绘制立方体的小应用程序。一切都很好,我在 Main
模块的顶部定义了一些 newtype
,如下所示:
newtype Vec2 = Vec2
{
x :: Number
, y :: Number
}
newtype Vec3 = Vec3
{
x :: Number
, y :: Number
, z :: Number
}
我还有一些函数可以进行转换,例如 perspectiveDivide
等,我想将它们移到另一个模块 Transforms
只是为了更好地组织。所以我将这些类型移动到 Transforms 模块,并导出它们。
module Transforms (Vec2, Vec3, perspectiveDivide) where
以上类型依此。
现在我尝试使用选择性导入功能将它们导入到主模块中,但没有成功。
import Transforms (Vec2, Vec3, perspectiveDivide)
但是在尝试使用仍在主模块中的函数 projectToScreen
时它仍然给了我一个错误。错误是这样的:
in module Main at src/Main.purs line 30, column 10 - line 30, column 18
Unknown data constructor Vec3
See https://github.com/purescript/documentation/blob/master/errors/UnknownName.md for more information, or to contribute content related to this error.
我是函数式编程和 PureScript 的新手。这个错误是什么意思?
module Transforms (Vec2, Vec3, perspectiveDivide) where
仅导出类型构造函数。
您还想使用 Vec2(..)
导出数据构造函数。相同的语法适用于导入。