在數學,我想一起做東西線:我可以自動懶惰地評估Mathematica中的函數參數嗎?
f[Rational[a_, b_], Rational[c_, d_]] := {a+c, b+d}
但是,如果我用下面的形式表達評價它,我得到錯誤的結果:
In: f[Rational[50, 100], Rational[4, 10]]
Out: {3, 7}
(* Expected: 54/110 -> 27/55 *)
有任何方式我可以強制Mathematica立即停止簡化表達式?我可以對所通過的任何東西進行保留,然後讓問題的功能在任何通過的內容上調用ReleaseHold [..]。
雖然這個解決方案非常難看,但我不想必須這樣做。我知道Mathematica中的一些函數會自動保存通過的任何函數,並且由於某種原因延遲評估它,我想在此處執行此操作。
簡而言之:如何強制Mathematica懶惰地評估某些東西被傳入函數而不必手動持有它?