2013-04-21 2 views
1

목록의 요소를 사각형으로 만드는 방법을 알고 있지만 목록의 목록에서 사각형을 만드는 방법을 알고 있습니까?목록의 목록을 사각형으로 그리시오 - ocaml

List.map (fun x -> x*x) [1; 2; 3];; 

방법리스트 목록에이 작업을 수행하는 :

예를 들어 내가 사용할 수있는리스트의 요소를, 광장?

[[1; 2]; [2; 3]] --> [[1; 4]; [4; 9]] 

또는 예

[[1; 2; 3]; [4; 2; 0]] --> [[1; 4; 9]; [16; 4; 0]] 

.

감사

+1

는리스트의 요소를 제곱 내부 함수는, 다음을 사용합니다. 나는 왜 당신이 이미 목록의 요소들을 사각형 화 하는지를 안다면, 왜 당신에게 어려운지 이해하지 못합니다. 그리고 함수의 코드를 목록 요소의 제곱으로 표시하십시오. 또한 운동 문제를 풀려고 시도한 코드를 보여주십시오. –

+0

'List.map (fun x -> x * x) [1; 2; 3] ;; "예를 들어 목록에 요소의 제곱을 얻기 위해 사용할 수있는 것이 있습니다. 목록의 목록에서이를 사용하는 방법을 모르겠습니다. – prima

+1

해당 코드를 질문에 넣으십시오. 그리고리스트의 특정리스트를 포함하여리스트에'List.map'을 사용할 수 있습니다. –

답변

4
let square = fun x -> x * x;; 
(* val square : int -> int = <fun> *) 

List.map square;; 
(* - : int list -> int list = <fun> *) 

List.map (List.map square);; 
(* - : int list list -> int list list = <fun> *) 

List.map (List.map (fun x -> x*x)) [[1; 2]; [2; 3]];; 
(* - : int list list = [[1; 4]; [4; 9]] *)