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