Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. let string_of_char c = String.make 1 c ;;
  2.  
  3. let string_apply f s =
  4. let rec string_apply2 f s = function
  5. n when n = String.length s -> ""
  6. | n -> string_of_char ( f s.[n]) ^ string_apply2 f s (n+1)
  7. in string_apply2 f s 0 ;;
  8. let caesar s n = string_apply (function c ->
  9. if c < 'a' then c
  10. else if c > 'z' then c
  11. else Char.chr(((Char.code c - Char.code 'a' +n)mod 26 )+Char.code 'a')) s ;;
  12.  
  13. let length = Array.length Sys.argv ;;
  14.  
  15. let rec caesar_argv = function
  16. n when n = length -> caesar Sys.argv.(n-1) (int_of_string( Sys.argv.(n)))
  17. | n when n mod length = 2 -> caesar Sys.argv.(n-1) (int_of_string( Sys.argv.(n))) ^"\n"^ caesar_argv (n+1)
  18. | n -> caesar_argv (n+1)
  19. in caesar_argv 3 ;;
  20.  
  21. let _ = caesar_argv 3 ;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement