Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
1
Task/String-length/OCaml/string-length-1.ocaml
Normal file
1
Task/String-length/OCaml/string-length-1.ocaml
Normal file
|
|
@ -0,0 +1 @@
|
|||
String.length "Hello world" ;;
|
||||
6
Task/String-length/OCaml/string-length-2.ocaml
Normal file
6
Task/String-length/OCaml/string-length-2.ocaml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
open CamomileLibrary
|
||||
|
||||
let () =
|
||||
Printf.printf " %d\n" (String.length "møøse");
|
||||
Printf.printf " %d\n" (UTF8.length "møøse");
|
||||
;;
|
||||
11
Task/String-length/OCaml/string-length-3.ocaml
Normal file
11
Task/String-length/OCaml/string-length-3.ocaml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
let utf8_length (s: String.t) =
|
||||
let byte_length = String.length s in
|
||||
let rec count acc n =
|
||||
if n = byte_length
|
||||
then acc
|
||||
else
|
||||
let n' = n + (String.get_utf_8_uchar s n |> Uchar.utf_decode_length) in
|
||||
count (succ acc) n'
|
||||
in
|
||||
count 0 0
|
||||
;;
|
||||
Loading…
Add table
Add a link
Reference in a new issue