这是一些看似简单但越深入探索越复杂的事情之一。
Vars 本质上是盒子,可以承载任何类型的对象。您可以通过以下方式轻松更改这里所持有的值的类型
(alter-var-root a (constantly 100))
这将使类型提示“错误”。
本身 hello
是一个变量,它包含一个具有该返回类型的函数。那么,在您调用它之前,如果它被重新绑定到具有不同类型提示的对象会发生什么呢?
另一种情况是多参数函数,其中不同的参数返回不同类型的对象。
毫无疑问,还有其他一些类似原始类型、直接链接等也会产生影响的因素。