14 lines
406 B
OCaml
14 lines
406 B
OCaml
|
|
local
|
||
|
|
fun quib [] = ""
|
||
|
|
| quib [x] = x
|
||
|
|
| quib [x0,x1] = x0 ^ " and " ^ x1
|
||
|
|
| quib (x::xs) = x ^ ", " ^ quib xs
|
||
|
|
in
|
||
|
|
fun quibble xs = "{" ^ quib xs ^ "}"
|
||
|
|
end
|
||
|
|
|
||
|
|
(* Tests: *)
|
||
|
|
val t_quibble_0 = quibble [] = "{}"
|
||
|
|
val t_quibble_1 = quibble ["ABC"] = "{ABC}"
|
||
|
|
val t_quibble_2 = quibble ["ABC", "DEF"] = "{ABC and DEF}"
|
||
|
|
val t_quibble_3 = quibble ["ABC", "DEF", "G", "H"] = "{ABC, DEF, G and H}"
|