根据Erlang类型和函数规范,约束约束中函数的输出类型::可以when在-spec属性的一部分中使用:
-spec id(X) -> X when X :: tuple().
Run Code Online (Sandbox Code Playgroud)
为了向后兼容,还可以使用:
-spec id(X) -> X when is_subtype(X, tuple()).
Run Code Online (Sandbox Code Playgroud)
但不鼓励使用is_subtype(不建议使用).什么是最后一个需要使用is_subtype而不是::?的Erlang版本?
语法-spec id(X) -> X when X :: tuple().不能使用Erlang/OTP版本R13B04进行编译,但使用R14B04进行编译.语法-spec id(X) -> X when is_subtype(X, tuple()).与R13B04和R14B04一起编译.因此,我相信你的问题的答案是Erlang/OTP R13B04.
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |