朱莉娅如何将价值观视为单身人士类型?

时间:2014-02-16 00:02:35

标签: singleton julia

Julia的一个很酷的功能是,值可以用作类型,至少作为类型参数。例如,可以断言数组具有特定维度,例如x :: Array{Int,2}。我的问题是:Julia如何做到这一点以及Julia的用户如何获得这种权力?我假设2被转换为或解释为某种单一类型的2。我很想知道转换的功能是什么。我试图断言2 :: Type{2}isa(2, Type{2}),但只有在2被实际类型替换时才会断言单例。

1 个答案:

答案 0 :(得分:1)

您无法定义自己的可变元并将它们用作单例类型(尚未)。

目前,jltypes.c中定义的static int valid_type_param(jl_value_t *v)返回true的任何内容都可以用作类型参数。有一个TODO可以添加更多类型,你可能只需要一个引人注目的用例来获取改变行为的帮助。

<强>更新: 另请参阅关于types:的手册文档。抽象和具体类型都可以通过其他类型和某些其他值(当前整数,符号,bool和其元组)进行参数化。当不需要引用或限制类型参数时,可以完全省略它们。