diff --git a/gitlab-pages/docs/reference/string.md b/gitlab-pages/docs/reference/string.md new file mode 100644 index 000000000..84d54cfd2 --- /dev/null +++ b/gitlab-pages/docs/reference/string.md @@ -0,0 +1,81 @@ +--- +id: string-reference +title: String +--- + +## String.size(s: string) : nat + +Get the size of a string. [Michelson only supports ASCII strings](http://tezos.gitlab.io/whitedoc/michelson.html#constants) +so for now you can assume that each character takes one byte of storage. + + + + +```pascaligo +function string_size (const s: string) : nat is size(s) +``` + + +```cameligo +let size_op (s: string) : nat = String.size s +``` + + +```reasonligo +let size_op = (s: string): nat => String.size(s); +``` + + + +## String.length(s: string) : nat + +Alias for `String.size`. + +## String.slice(pos1: nat, pos2: nat, s: string) : string + +Get the substring of `s` between `pos1` inclusive and `pos2` inclusive. For example +the string "tata" given to the function below would return "at". + + + +```pascaligo +function slice_op (const s : string) : string is + begin skip end with string_slice(1n , 2n , s) +``` + +```cameligo +let slice_op (s: string) : string = String.slice 1n 2n s +``` + +```reasonligo +let slice_op = (s: string): string => String.slice(1n, 2n, s); +``` + + +## String.sub(pos1: nat, pos2: nat, s: string) : string + +Alias for `String.slice`. + +## String.concat(s1: string, s2: string) : string + +Concatenate two strings and return the result. + + + + +```pascaligo +function concat_op (const s : string) : string is + begin skip end with string_concat(s , "toto") +``` + + +```cameligo +let concat_syntax (s: string) = s ^ "test_literal" +``` + + +```reasonligo +let concat_syntax = (s: string) => s ++ "test_literal"; +``` + + diff --git a/src/test/md_file_tests.ml b/src/test/md_file_tests.ml index 86aefeb89..f697a18d4 100644 --- a/src/test/md_file_tests.ml +++ b/src/test/md_file_tests.ml @@ -122,6 +122,7 @@ let md_files = [ "/gitlab-pages/docs/advanced/timestamps-addresses.md"; "/gitlab-pages/docs/api/cli-commands.md"; "/gitlab-pages/docs/api/cheat-sheet.md"; + "/gitlab-pages/docs/reference/string.md"; ] let md_root = "../../gitlab-pages/docs/language-basics/"