我被搞糊涂了所有内置在声称为防止评价以某种方式Mathematica函数:Unevaluated
,Defer
,Hold
,超过半打形式Hold*
。 Mathematica文档只是单独解释每个函数,而不解释为什么要选择其中一个。任何人都可以提供所有这些功能的连贯解释吗?整件事对我来说似乎是一团糟。将这一切与Lisp宏联系起来可能是一个很好的开始。数学:VS未作评估的VS推迟VS保持VS HoldForm VS HoldAllComplete等等等等
大多数Mathematica语言的令人惊讶的是精心设计的,但它似乎是真的钨自己画成在这方面的一个角落里。或者我可能会错过一些东西。