我知道在Maple中傳遞參數的方式總是通過值,所以我想知道是否有方法通過引用在Maple過程中傳遞參數。 我已閱讀了關於REF標識符的一些信息,但我還沒有很好的理解。 有人知道這件事嗎?Maple通過引用傳遞參數
0
A
回答
0
你提到的REF
很可能只是`define_external中的參數限定詞,用於鏈接到Maple內核和解釋庫之外的編譯函數。對於Maple程序,它不提供更廣義的傳遞引用。
在Maple rtables(矩陣,向量,數組)和表通過引用傳遞,允許在這些可變結構上的就地語義。
過程調用的其他參數大多是通過值完成的。也就是通過名稱(變量)的值。在Maple的過程調用的正常評估規則中,傳遞的名稱將在前面進行評估,並且它們的值將成爲過程參數。
但是,如果名稱在未評估報價(單引號)內傳遞,那麼參數只是名稱而不是其值。那麼這個名字在過程調用中可用。該程序甚至可以分配給該名稱(產生副作用)。或者程序可以做另一次評估,以獲得價值。所以,在這種情況下,參數是按名稱傳遞的,這是通過引用傳遞的方式。
獲得相同效果的其他方法包括構造過程定義,以便參數按名稱而非值傳遞。在這種情況下,當程序被調用時不需要額外的評估報價。
請注意,下面將如何調用p1
和p2
。如果用不同類型的參數調用它們,您也可以試驗發生了什麼(各種錯誤消息)。
p1 := proc(x)
local y;
y := eval(x);
print(x, y);
x := y^2;
return NULL;
end proc:
m := 4;
m := 4
p1('m');
m, 4
m;
16
p2 := proc(x::uneval)
local y;
y := eval(x);
print(x, y);
x := y^2;
return NULL;
end proc:
m := 4;
m := 4
p2(m);
m, 4
m;
16
相關問題
- 1. 通過引用傳遞數組參數
- 2. 通過引用的CreateInstance傳遞參數
- 3. 通過引用傳遞的ANT參數
- 4. 參數傳遞通過引用
- 5. 通過引用傳遞參數Java
- 6. 傳遞參數通過引用
- 7. 我是否正確傳遞參數並通過引用傳遞?
- 8. 傳遞通過引用和參考
- 9. 通過引用遞歸函數傳遞參數
- 10. 通過引用參數傳遞跟蹤遞歸算法
- 11. 通過url傳遞參數
- 12. 通過ICommand傳遞參數
- 13. 通過server.execute傳遞參數?
- 14. 通過url傳遞參數
- 15. 通過url傳遞參數?
- 16. 通過傳遞參數
- 17. 傳遞參數通過powershell.exe
- 18. 通過URL傳遞參數
- 19. 通過Ajax傳遞參數
- 20. 通過PageFactory傳遞參數
- 21. 通過引用傳遞與值傳遞
- 22. connot通過參數傳遞參數
- 23. 通過http post參數傳遞參數
- 24. 通過引用傳遞C++
- 25. C++通過引用傳遞?
- 26. cpp通過引用傳遞
- 27. PHP通過引用傳遞?
- 28. Java通過引用傳遞
- 29. C++通過引用傳遞
- 30. 通過引用傳遞流
非常詳盡..謝謝! –