【问题标题】:What are the breaking changes in clojure 1.3?clojure 1.3 中有哪些重大变化?
【发布时间】:2010-10-29 21:14:59
【问题描述】:

我一直无法跟上 1.3 中的更改列表,最重要的是需要我更改代码的更改。

  • 发生了什么变化,
  • 即将发生的变化,
  • 我在哪里可以获得这些的最新列表?

【问题讨论】:

标签: clojure


【解决方案1】:

迄今为止的重大更改:

  • 数学运算不再升级为 bignums。

  • 数学运算不再将结果缩小到可以容纳它们的最小类型。

  • 变量将不再默认为可动态绑定。需要时添加^:dynamic。

【讨论】:

    【解决方案2】:

    其他几个数字变化:

    • BigIntegers 有一个新的文字:5N,它是 BigInteger 的 5。
    • 平等的规则已经改变(可能是由于 Alex 提到的改变引起的?):
      • (= 2 2.0) => false,但(== 2 2.0) => true
      • (= 2 2M) => false,但(== 2 2M) => true
      • (= 2.0 2M) => false,但(== 2.0 2M) => true
      • 为了清楚起见:
        • (= 2 2N) => true
        • (= 2 4/2) => true
      • 您通常可以假设您需要== 来比较浮点数的相等性(这仍然可能是一个不稳定的命题)。

    【讨论】:

      猜你喜欢
      • 2011-09-17
      • 2017-09-13
      • 1970-01-01
      • 2021-01-15
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      相关资源
      最近更新 更多