diff options
Diffstat (limited to 'perl_checker.src/common.ml')
-rw-r--r-- | perl_checker.src/common.ml | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/perl_checker.src/common.ml b/perl_checker.src/common.ml index ee989dc..e30dc20 100644 --- a/perl_checker.src/common.ml +++ b/perl_checker.src/common.ml @@ -561,6 +561,8 @@ let rec transpose = function let rec range min max = if min >= max then [] else min :: range (min + 1) max +let sum l = List.fold_left (+) 0 l + let rec filter_some_with f = function | [] -> [] | e :: l -> @@ -745,6 +747,15 @@ let char_is_number c = let i = Char.code c in Char.code '0' <= i && i <= Char.code '9' +let count_chars_in_string s c = + let rec rec_count_chars_in_string from = + try + let from' = String.index_from s from c in + 1 + rec_count_chars_in_string (from' + 1) + with + Not_found -> 0 + in rec_count_chars_in_string 0 + let rec string_forall_with f i s = try f s.[i] && string_forall_with f (i+1) s |