2015-01-03 3 views
2

배열에서 하위 배열을 추출하는 방법이 있습니까? 즉, 지정된 인덱스에서 하위 배열을 반환하는 세 개의 인수 (배열, 시작 인덱스 및 종료 인덱스)의 함수입니다. 자바에서는이 같은 것입니다 : 벡터 (한 차원 배열)에 따라서도 시퀀스어떻게 Lisp에서 하위 배열 반환?

int[] sub(int[] arg,int begin,int end) 
{ 
    int b1[] = Arrays.copyOfRange(arg, begin, end); 
    return b1; 
} 

안부,

+2

"lisp에서도 가능합니까?" 웃긴 소리. – 6502

+0

원본 배열의 복사본을 원하거나 저장소와 원본을 공유하는 새로운 배열을 원하십니까? 예를 들어, 하위 배열의 요소를 변경 한 경우 원본에서도 볼 수 있습니까? ('copyOfRange'를 사용하는 코드는 그렇지 않다고 제안하지만, 그렇게한다면, [** make-array **]에 대한 * displaced- * 인자를 살펴보십시오. (http://www.lispworks.com/documentation/HyperSpec/ Body/f_mk_ar.htm). –

답변

3

SUBSEQ 작품을, 그리고 새로운 벡터를 반환합니다.

CL-USER 14 > (subseq #(0 1 2 3 4 5 6 7 8 9) 3 6) 
#(3 4 5) 
+0

답변을 주셔서 감사합니다. 라이브러리 함수가 필요하지 않습니다. 구현해야합니다. :) – Amin

+0

왜 구현해야합니까 ?? – fstamour