Я смотрю на список документации. Кажется, библиотека не предоставляет функцию sublist
.
Я пытаюсь получить список элементов от i до j . Теперь я должен написать это как:
let rec sublist list i j =
if i > j then
[]
else
(List.nth list i) :: (sublist list (i+1) j)
, что довольно кратко, но я подвергаю сомнению эффективность List.nth
, потому что, если это O (n) , я бы предпочел написать его менее лаконичным образом.
Мне интересно, почему они не предоставили List.sublist
func, если List.nth
не O (1) , потому что это довольно распространенная операция ..