它没有在文档中记录 . 但通过实验,我发现将返回类型的方法键入为Void,取消“最后一个语句返回”(这很好),使其返回Nil .
def foo; "baz"; end #=> "baz" : String
def foo : Void; "baz"; end #=>无
def foo : Void; "baz"; end
def foo : Nil; "baz"; end #=>无
def foo : Nil; "baz"; end
问题是:
以上假设是否正确?
Void和Nil方法返回类型之间有什么区别吗?
你是对的 . 语言中的某些最后更改尚未在文档中得到反映 . 我想是时候再写一些文档了:-)
看到合并的地方:https://github.com/crystal-lang/crystal/pull/2701
所以Void和Nil之间没有区别,推荐的事情是在Crystal land中使用Nil(在C绑定中使用Void)
1 回答
你是对的 . 语言中的某些最后更改尚未在文档中得到反映 . 我想是时候再写一些文档了:-)
看到合并的地方:https://github.com/crystal-lang/crystal/pull/2701
所以Void和Nil之间没有区别,推荐的事情是在Crystal land中使用Nil(在C绑定中使用Void)