0
我目前正試圖定義一個類型爲'a - >'a) - >'a - >'的函數,它需要一個類型爲'a - >'的函數和一個類型爲「a」的參數,並在該參數上調用該函數兩次。我對OCaml比較陌生,但我確實知道如何定義一個函數,但是我沒有嘗試過使用試錯法,或者Google試圖讓一個函數作爲參數,然後再使用這個函數兩次。定義一個函數作爲參數
任何提示或指針將不勝感激,在此先感謝。
編輯:感謝Jeffrey下面,我的問題現在已解決。
let f4 g a = g(g a);;
VAL F4:( 'A - >' 一) - > 'A - >' 一個=
這與我所需要的非常接近,但我需要它從字面上採取'a的一切。 它應該與('a - >'a) - >'a - >' 當試着#let f4 g a = g a * g a ;;我得到 VAL F4:( 'A - > INT) - > 'A - > INT = 這是接近,但不完全(' A - >' 一) - > 'A - >' 一個 任何建議? –
Bizzle
2013-03-08 00:18:27
對,我不想只給你答案!這個最新嘗試的問題是'*'運算符只能用於ints。嘗試做一個沒有綁定到特定類型的操作(比如說做一個列表或元組)。 – 2013-03-08 00:20:26
#let f4 g a = g a :: g a :: [] ;; val f4:('a - >'b) - >'a - >'b list = again我很接近。我將如何讓所有事情成爲'一個? (我學習這門語言的方式很差勁,我對教學風格並沒有留下深刻的印象,所以我的知識非常好) –
Bizzle
2013-03-08 00:23:25