Ajout split_last
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2878 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
e32cdbb11e
commit
8599d817b4
|
@ -54,6 +54,13 @@ let rec list_remove x = function
|
||||||
| hd :: tl ->
|
| hd :: tl ->
|
||||||
if hd = x then tl else hd :: list_remove x tl
|
if hd = x then tl else hd :: list_remove x tl
|
||||||
|
|
||||||
|
let rec split_last = function
|
||||||
|
[] -> assert false
|
||||||
|
| [x] -> ([], x)
|
||||||
|
| hd :: tl ->
|
||||||
|
let (lst, last) = split_last tl in
|
||||||
|
(hd :: lst, last)
|
||||||
|
|
||||||
(* Options *)
|
(* Options *)
|
||||||
|
|
||||||
let may f = function
|
let may f = function
|
||||||
|
|
|
@ -28,7 +28,9 @@ val replicate_list: 'a -> int -> 'a list
|
||||||
all identical to [elem]. *)
|
all identical to [elem]. *)
|
||||||
val list_remove: 'a -> 'a list -> 'a list
|
val list_remove: 'a -> 'a list -> 'a list
|
||||||
(* [list_remove x l] returns a copy of [l] with the first
|
(* [list_remove x l] returns a copy of [l] with the first
|
||||||
element equal to [x] removed *)
|
element equal to [x] removed. *)
|
||||||
|
val split_last: 'a list -> 'a list * 'a
|
||||||
|
(* Return the last element and the other elements of the given list. *)
|
||||||
|
|
||||||
val may: ('a -> unit) -> 'a option -> unit
|
val may: ('a -> unit) -> 'a option -> unit
|
||||||
val may_map: ('a -> 'b) -> 'a option -> 'b option
|
val may_map: ('a -> 'b) -> 'a option -> 'b option
|
||||||
|
|
Loading…
Reference in New Issue