我需要根據傳遞給另一個函數的函數返回一個不同的值。標準ML:返回不同的類型
因此,考慮到:fun inc x = x + 1;
和:fun double [] = [] | double (h::t) = 2*h::double (t);
你應該能夠調用我的工作有任何的功能。
調用示例(我正在做的功能名爲test):
test (inc, 5);
- 它會返回
- 或 -
test (double, [1,2,3,4]);
- 它會返回[ 2,4,6,8]
我知道函數不能在面值上做到這一點,但這是可能的,通過層的抽象重刑?
*即使有*一種方式 - 如果是答案,你可以提出錯誤的問題。爲什麼你認爲你需要它,爲什麼你不能使用'map'和singleton列表? – delnan 2010-09-02 19:04:00
這就是我說「抽象」時的意思。使用'map'是我的第一個猜想,我只是無法弄清楚如何去做。 – Ryan 2010-09-02 20:36:53