Crystal Lang:了解Void的返回方法类型

经典皮条客

它没有记录在文档中。但是通过实验,我发现将方法的返回类型键入Void会取消“最后一条语句返回”(这很好),使其返回Nil。

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

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

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

问题是:

以上假设正确吗?

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

紫aster石

你是对的。该语言的最后更改尚未在文档中反映出来。我想是时候该写一些更多的文档了:-)

在合并的地方查看此内容:https : //github.com/crystal-lang/crystal/pull/2701

因此,那里的Void和Nil之间没有区别,建议做的是在Crystal领域中使用Nil(在C绑定中使用Void)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Crystal中进行类型检查

来自分类Dev

什么是Crystal Lang中的“&-=”运算符?

来自分类Dev

哈希是否曾经用Crystal lang堆叠?

来自分类Dev

Crystal-lang:递归JSON或哈希

来自分类Dev

上周的Crystal Report返回值

来自分类Dev

Crystal Report 中的 LinqToSql 查询返回 SystemNotSupportedException

来自分类Dev

从Crystal中的数组中删除空值的类型安全方法

来自分类Dev

将glib绑定到Crystal lang(GC问题)

来自分类Dev

如何在 Crystal Lang 中访问模块版本?

来自分类Dev

如何从 Crystal Lang 中的数组中删除特定元素?

来自分类Dev

在应用程序中嵌入 Crystal-lang 版本

来自分类Dev

Crystal-lang 中的“原始”属性是什么?

来自分类Dev

为什么Crystal无法解析1 + 1的分配类型?

来自分类Dev

如何强制返回值与 Crystal 中的参数值类型相同?

来自分类Dev

无法在Crystal lang中使用File.tempfile-未定义对`* Crystal :: System :: Dir :: tempdir:String'的引用

来自分类Dev

crystal.net中JobBuilder的Create方法中的类的实例

来自分类Dev

Crystal Report-MVC 5中找不到方法错误

来自分类Dev

有什么方法可以在Crystal中启用Float和Int?

来自分类Dev

crystal.net中JobBuilder的Create方法中的类的实例

来自分类Dev

找不到System.MissingMethodException方法Crystal报表

来自分类Dev

在 Crystal 0.21.1 中用“宏继承”定义实例方法

来自分类Dev

Crystal Lang,是否可以在不等待GC的情况下显式处置(释放)实例(对象)?

来自分类Dev

在Crystal-lang的多线程中对静态变量进行突变安全吗?

来自分类Dev

Crystal-lang:如何在重定向后查找结束 URL?

来自分类Dev

是否有更惯用的方式将json转换为Crystal中的特定哈希类型?

来自分类Dev

需要在我的Crystal报表中的某些类型的页面之间添加空白页面

来自分类Dev

Crystal Reports不使用Oracle驱动程序从某些Oracle视图返回数据

来自分类Dev

Crystal报表返回的报表组总数错误(原始数量的两倍)

来自分类Dev

在Crystal中,除了python ast模块还有其他替代方法吗?

Related 相关文章

  1. 1

    在Crystal中进行类型检查

  2. 2

    什么是Crystal Lang中的“&-=”运算符?

  3. 3

    哈希是否曾经用Crystal lang堆叠?

  4. 4

    Crystal-lang:递归JSON或哈希

  5. 5

    上周的Crystal Report返回值

  6. 6

    Crystal Report 中的 LinqToSql 查询返回 SystemNotSupportedException

  7. 7

    从Crystal中的数组中删除空值的类型安全方法

  8. 8

    将glib绑定到Crystal lang(GC问题)

  9. 9

    如何在 Crystal Lang 中访问模块版本?

  10. 10

    如何从 Crystal Lang 中的数组中删除特定元素?

  11. 11

    在应用程序中嵌入 Crystal-lang 版本

  12. 12

    Crystal-lang 中的“原始”属性是什么?

  13. 13

    为什么Crystal无法解析1 + 1的分配类型?

  14. 14

    如何强制返回值与 Crystal 中的参数值类型相同?

  15. 15

    无法在Crystal lang中使用File.tempfile-未定义对`* Crystal :: System :: Dir :: tempdir:String'的引用

  16. 16

    crystal.net中JobBuilder的Create方法中的类的实例

  17. 17

    Crystal Report-MVC 5中找不到方法错误

  18. 18

    有什么方法可以在Crystal中启用Float和Int?

  19. 19

    crystal.net中JobBuilder的Create方法中的类的实例

  20. 20

    找不到System.MissingMethodException方法Crystal报表

  21. 21

    在 Crystal 0.21.1 中用“宏继承”定义实例方法

  22. 22

    Crystal Lang,是否可以在不等待GC的情况下显式处置(释放)实例(对象)?

  23. 23

    在Crystal-lang的多线程中对静态变量进行突变安全吗?

  24. 24

    Crystal-lang:如何在重定向后查找结束 URL?

  25. 25

    是否有更惯用的方式将json转换为Crystal中的特定哈希类型?

  26. 26

    需要在我的Crystal报表中的某些类型的页面之间添加空白页面

  27. 27

    Crystal Reports不使用Oracle驱动程序从某些Oracle视图返回数据

  28. 28

    Crystal报表返回的报表组总数错误(原始数量的两倍)

  29. 29

    在Crystal中,除了python ast模块还有其他替代方法吗?

热门标签

归档