【发布时间】:2020-02-19 20:46:57
【问题描述】:
在 Crystal 语言中,是否曾在堆栈上分配过哈希?还是它们总是“堆积”?我在文档中找不到任何内容(https://crystal-lang.org/api/0.33.0/Hash.html - 于 2020 年 2 月 19 日查找)。我在https://github.com/crystal-lang/crystal/blob/master/src/hash.cr 中看到不少malloc_*,但不确定我是否缺少优化。我认为文档没有明确指出 - 在浏览器中对 https://crystal-lang.org/api/0.33.0/Hash.html 上的“堆”、“堆栈”和“分配”进行了单词查找...找不到任何东西。
【问题讨论】:
-
总是在堆上。 Hash 继承自 Reference 和 Reference 类型总是在堆上分配。
-
任何
class都在 Crystal 中,crystal-lang.org/reference/syntax_and_semantics/structs.html 解释了这一点。 -
就在
reference.cr-->#`Reference` is the base class of classes you define in your program. # It is set as a class' superclass when you don't specify one:...事实上,Hash没有明确指定的超类。谢谢@asterite 和@jonne-haß -
欢迎在这里回答您自己的问题 :)
标签: crystal-lang