2015-01-03 78 views
2

有沒有辦法從數組中提取子數組?也就是說,有三個參數(數組,起始索引和結束索引)的函數,它返回指定索引的子數組。在Java中,這將是這樣的: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 **的* displa- *參數(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