0
我試圖限定咖喱函數,它接受一個函數和元組作爲輸入的列表,並返回一個布爾值咖喱函數,它接受一個函數和作爲輸入元組的列表
例如
values(fn (x,y:int)=>(x-y) [(5,0)];
val it = true:bool
但我的問題是我不知道如何通過一個動態函數作爲argument.is有可能???幫我out.i是一個初學者。
謝謝
我試圖限定咖喱函數,它接受一個函數和元組作爲輸入的列表,並返回一個布爾值咖喱函數,它接受一個函數和作爲輸入元組的列表
例如
values(fn (x,y:int)=>(x-y) [(5,0)];
val it = true:bool
但我的問題是我不知道如何通過一個動態函數作爲argument.is有可能???幫我out.i是一個初學者。
謝謝
您可以像傳遞任何其他值一樣傳遞函數。例如:
fun values f [] = ...
| values f (x::xs) = ...
然後可以使用f
,就好像它是一個在函數外定義的函數一樣。
作爲相關例子,這裏是一個函數,它接受一個x
和功能[f1, f2, ..., fn]
列表,並應用於各功能以在列表中x
:
fun values x [] = []
| values x (f::fs) = f x :: values x fs