我有一個程序,均返回int * INT新建ML:如何存儲類型的返回值* A * A *
(舉例說明目的): 樂趣程序(A,B)=( 1,2)
我想要做的事沿着線:
樂趣計劃(A,b)
如果A = 0,則(1,2)
其他
VAL X, y =程序(a-1,b)
返回(X-1,Y)
基本上,我想操縱返回的元組,然後返回它的一個變形例。
感謝
我有一個程序,均返回int * INT新建ML:如何存儲類型的返回值* A * A *
(舉例說明目的): 樂趣程序(A,B)=( 1,2)
我想要做的事沿着線:
樂趣計劃(A,b)
如果A = 0,則(1,2)
其他
VAL X, y =程序(a-1,b)
返回(X-1,Y)
基本上,我想操縱返回的元組,然後返回它的一個變形例。
感謝
這工作幾乎完全一樣,你寫的,但你的語法是有點過:
fun program(a,b) =
if a = 0 then (1,2)
else
let val (x,y) = program(a-1,b) in
(x-1, y)
end
具體做法是:
fun f args = body
定義 - 你離開出=
。let val foo = bar in baz end
。我也想建議,當你需要向返回一個類型t : int * int
,你可以ATLEAST咖喱輸入從您的功能:int * int = int -> int
。如果您需要將其轉回,則可以始終使用uncurry。我建議寫功能:
fun program a b =
if a = 0
then (1,2)
else
let
val (x,y) = program (a - 1) b
in
(x - 1, y)
end
類型此功能是:int -> int -> (int * int)