int list中的Ocaml问题

int list中的Ocaml问题,ocaml,Ocaml,如何将元素添加到int列表中 |x::y::xs-> if(x<=y) then [x]@(ordina (y::xs)) else [x]::ordina (y::xs) |x::y::xs->if(x要将包含x的新整数列表添加到整数列表的头部: # let x = 14 in let

如何将元素添加到int列表中

    |x::y::xs->  if(x<=y)                                                           
                 then [x]@(ordina (y::xs))
                 else [x]::ordina (y::xs)

|x::y::xs->if(x要将包含
x
的新整数列表添加到
整数列表的头部

# let x = 14 in
let ill = [[3;4]; [5;6]] in
[x] :: ill ;;
- : int list list = [[14]; [3; 4]; [5; 6]]
您也可以这样写:

# let x = 14 in
let ill = [[3;4]; [5;6]] in
[[x]] @ ill ;;
- : int list list = [[14]; [3; 4]; [5; 6]]
但这需要少量不必要的工作

作为旁注,if
的两个分支看起来是在做同样的事情。如果希望结果是
[[14;3;4];[5;6]
,则需要编写更多的代码来分解
int list

# let x = 14 in
let ill = [[3;4]; [5;6]] in
match ill with
| [] -> [[x]]
| h :: t -> (x :: h) :: t ;;
- : int list list = [[14; 3; 4]; [5; 6]]

要将包含
x
的新整数列表添加到
整数列表的头部

# let x = 14 in
let ill = [[3;4]; [5;6]] in
[x] :: ill ;;
- : int list list = [[14]; [3; 4]; [5; 6]]
您也可以这样写:

# let x = 14 in
let ill = [[3;4]; [5;6]] in
[[x]] @ ill ;;
- : int list list = [[14]; [3; 4]; [5; 6]]
但这需要少量不必要的工作

作为旁注,if的两个分支看起来是在做同样的事情。如果希望结果是
[[14;3;4];[5;6]
,则需要编写更多的代码来分解
int list

# let x = 14 in
let ill = [[3;4]; [5;6]] in
match ill with
| [] -> [[x]]
| h :: t -> (x :: h) :: t ;;
- : int list list = [[14; 3; 4]; [5; 6]]