Arrays OCaml阵列切片?
我正在学习OCaml,有一件事我还没有发现如何做,那就是从数组中获取一个片段。例如,如果我想从索引2开始提取3个元素的子数组,我必须执行:Arrays OCaml阵列切片?,arrays,ocaml,slice,sub-array,Arrays,Ocaml,Slice,Sub Array,我正在学习OCaml,有一件事我还没有发现如何做,那就是从数组中获取一个片段。例如,如果我想从索引2开始提取3个元素的子数组,我必须执行:[| array.(2);array.(3);array.(4)|]。这会变得单调乏味。是否有任何函数可以轻松快速地给出一个数组切片?如果不是,我将如何着手为这种行为滚动我自己的函数 非常感谢你的帮助,谢谢 存在Array.blit v1 o1 v2 o2 len将len元素从数组v1(从元素号o1开始)复制到数组v2(从元素号o2开始) 您还可以使用Arra
[| array.(2);array.(3);array.(4)|]
。这会变得单调乏味。是否有任何函数可以轻松快速地给出一个数组切片?如果不是,我将如何着手为这种行为滚动我自己的函数
非常感谢你的帮助,谢谢 存在
Array.blit v1 o1 v2 o2 len
将len元素从数组v1(从元素号o1开始)复制到数组v2(从元素号o2开始)
您还可以使用Array.init int->(int->'a)->'a数组:
设b=Array.init3(funx->Array.(x+2))
Array.sub比blit更易于使用:
let v=[|0;1;2;3;4;5|];;
let v'=Array.sub v 2 3;;
# val v' : int array = [|2; 3; 4|]
Array.sub a
start len返回长度len的新数组,包含数组a的元素编号start到start+len-1。这也很有用。非常感谢!