Crystal lang:理解方法返回类型的Void

时间:2016-09-11 05:42:52

标签: crystal-lang

未在文档中记录。但是通过实验,我发现将返回类型的方法键入为Void,取消了"最后一个语句返回" (这很好)让它回归Nil。

def foo; "baz"; end #=> "baz" : String

def foo : Void; "baz"; end#=>零

def foo : Nil; "baz"; end#=>零

问题是:

高于假设吗?

Void和Nil方法返回类型之间有什么区别吗?

1 个答案:

答案 0 :(得分:2)

你是对的。语言中的某些最后更改尚未在文档中得到反映。我想是时候再写一些文档了: - )

请参阅合并后的内容:https://github.com/crystal-lang/crystal/pull/2701

所以Void和Nil之间没有区别,推荐的事情是在Crystal land中使用Nil(在C绑定中使用Void)