2012-10-03 4 views
0

SML에 N 개의 요소 목록이 있습니다.SML : 하나 이상의 인수가 필요한 함수가있는 목록의지도 함수

해당 목록의 모든 요소에 함수를 적용하고 싶습니다. 따라서 map을 사용합니다.

foo a b (c, d) 

A는 I 목록 및 BC와 D에서 사용하고있는 요소마다 동일한 미리 정의 된 변수는 다음과 같습니다 제가 적용 할 기능이 같은 2 개 이상의 인수를 가지고 그러나

.

fun foo2 = map foo aList b (c,d) 

하지만 예상 된 연산자와 피연산자 오류를 얻을 그러나 나는이 작업을 수행하는 다른 방법을 생각할 수 있습니다

나는이처럼 내 함수를 선언.

+0

귀하의'foo2' 기능이없는 인수 것 같다 : 당신은 물론, 래퍼를 만들 수 있습니까? – npostavs

답변

1

foo의 args 순서가 변경된 경우 가장 편리합니다.

fun foo_swapped_args b (c,d) a = foo a b (c, d) 

가 그럼 당신이 할 수있는

map (foo_swapped_args b (c,d)) aList 
4
fun foo2 list = map (fn x => foo x b (c, d)) list