mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
fix CCString.*_ascii; add CCChar.{upper,lower}case_ascii
This commit is contained in:
parent
b249adf86f
commit
7a823b16d8
3 changed files with 32 additions and 4 deletions
|
|
@ -11,3 +11,13 @@ let compare = Char.compare
|
|||
|
||||
let pp = Buffer.add_char
|
||||
let print = Format.pp_print_char
|
||||
|
||||
let lowercase_ascii c =
|
||||
if c >= 'A' && c <= 'Z'
|
||||
then Char.unsafe_chr (Char. code c + 32)
|
||||
else c
|
||||
|
||||
let uppercase_ascii c =
|
||||
if c >= 'a' && c <= 'z'
|
||||
then Char.unsafe_chr (Char.code c - 32)
|
||||
else c
|
||||
|
|
|
|||
|
|
@ -9,5 +9,13 @@ type t = char
|
|||
val equal : t -> t -> bool
|
||||
val compare : t -> t -> int
|
||||
|
||||
val lowercase_ascii : t -> t
|
||||
(** See {!Char}
|
||||
@since NEXT_RELEASE *)
|
||||
|
||||
val uppercase_ascii : t -> t
|
||||
(** See {!Char}
|
||||
@since NEXT_RELEASE *)
|
||||
|
||||
val pp : Buffer.t -> t -> unit
|
||||
val print : Format.formatter -> t -> unit
|
||||
|
|
|
|||
|
|
@ -651,10 +651,20 @@ let lowercase_ascii = String.lowercase_ascii
|
|||
|
||||
#else
|
||||
|
||||
let capitalize_ascii = String.capitalize
|
||||
let uncapitalize_ascii = String.uncapitalize
|
||||
let uppercase_ascii = String.uppercase
|
||||
let lowercase_ascii = String.lowercase
|
||||
let capitalize_ascii s =
|
||||
mapi
|
||||
(fun i c -> if i=0 then CCChar.uppercase_ascii c else c)
|
||||
s
|
||||
|
||||
|
||||
let uncapitalize_ascii s =
|
||||
mapi
|
||||
(fun i c -> if i=0 then CCChar.lowercase_ascii c else c)
|
||||
s
|
||||
|
||||
let uppercase_ascii = map CCChar.uppercase_ascii
|
||||
|
||||
let lowercase_ascii = map CCChar.lowercase_ascii
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue