我一直在阅读有关符号语言如何工作的文章,更多地关注 Mathematica。据我所知,评估是将一系列转换规则应用于输入,直到找不到更多匹配的转换规则并将其结果称为“输出”。
但随之而来的问题是:当多个转换规则与给定表达式匹配时该怎么办?我尝试了第一个示例:
A[x_, 3] := 0;
A[x_, y_] := 1;
A[a, b]
=> 1
A[k, 3]
=> 0
3
我相信我可以通过说匹配3
“比”更好来解释这一点y
。然后我的第二个实验:
B[x_, 3] := 0;
B[4, y_] := 1;
B[4, 3]
=> 0
为什么是这样?我希望看到某种错误。