Crystal lang: 理解方法 return Void 类型
Crystal lang: understanding method return type of Void
它没有记录在文档中。但是通过实验,我发现将 return 类型的方法键入为 Void,会取消 "last statement return"(这很好),使其成为 returning Nil。
def foo; "baz"; end #=> "baz" : String
def foo : Void; "baz"; end
#=> 零
def foo : Nil; "baz"; end
#=> 零
问题是:
以上假设是否正确?
Void和Nil方法return类型有区别吗?
你是对的。该语言的一些最新更改尚未反映在文档中。我想是时候写更多文档了:-)
查看合并的位置:https://github.com/crystal-lang/crystal/pull/2701
所以 Void 和 Nil 之间没有区别,推荐的做法是在 Crystal 领域使用 Nil(在 C 绑定中使用 Void)
它没有记录在文档中。但是通过实验,我发现将 return 类型的方法键入为 Void,会取消 "last statement return"(这很好),使其成为 returning Nil。
def foo; "baz"; end #=> "baz" : String
def foo : Void; "baz"; end
#=> 零
def foo : Nil; "baz"; end
#=> 零
问题是:
以上假设是否正确?
Void和Nil方法return类型有区别吗?
你是对的。该语言的一些最新更改尚未反映在文档中。我想是时候写更多文档了:-)
查看合并的位置:https://github.com/crystal-lang/crystal/pull/2701
所以 Void 和 Nil 之间没有区别,推荐的做法是在 Crystal 领域使用 Nil(在 C 绑定中使用 Void)