У меня возникли проблемы с перечнем изменений в 1.3 и, самое главное, изменениями, которые требуют от меня изменения моего кода.
Что изменилось,
Что изменится,
Где я могу получить последние списки?
Ответ 1
Нарушение изменений на сегодняшний день:
Math ops больше не продвигаются в bignums.
Math ops больше не сужают результат до наименьшего типа, который может их удерживать.
Vars больше не будет по умолчанию динамически привязываться. При необходимости добавьте ^:dynamic.
Ответ 2
Несколько других числовых изменений:
Существует новый литерал для BigIntegers: 5N, который является 5 как BigInteger.
Правила равенства изменились (возможно, возникшие в результате изменений, которые Алекс упоминает?):
(= 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
Обычно вы можете предположить, что вам понадобится == для сравнения чисел с плавающей запятой для равенства (что, вероятно, является шатким предложением).