ربما لا تكون مقارنة ASTs عملية شائعة جدًا ، لكنني صادفت ما يلي والذي وجدته مفاجئًا. أعتقد أنه يمكن الجدال حتى أن ==
يجب أن يتجاهل الحقائق القائلة بأن NaNs لا تساوي نفسها عدديًا لأنها ليست مقارنة عددية حقًا.
julia> :(f($NaN)) == :(f($NaN))
false
julia> isequal(:(f($NaN)), :(f($NaN)))
false
يبدو أننا بحاجة إلى طريقة isequal
لـ Expr تستدعي isequal
بشكل متكرر.
بل يمكن القول إن == يجب أن تتجاهل الحقائق القائلة بأن NaNs لا تساوي نفسها عدديًا لأنها ليست مقارنة عددية حقًا.
NaN الحرفية ليست قيمة NaN ، نعم
نقطة جيدة جدا. ربما يكون الحل الحقيقي هو ==
على Exprs لاستخدام isequal
لمقارنة العناصر.
التعليق الأكثر فائدة
NaN الحرفية ليست قيمة NaN ، نعم