module String:文字列の操作sig..end
長さ l の文字列 s が与えられたとき、 s 中の文字を表す番号をその文字の添字と呼びます。
添字は 0 から始まります。ある数字が区間 [0...l-1] にあるとき、その数字は s に対して有効な添字であるとと言います。
ある文字と文字、または文字の先頭や末尾との間を文字列中の位置と呼びます。
区間 [0...l] にある位置を s に対して有効な位置と言います。
添字 n は位置 n と n + 1 の間にあることに注意してください。
パラメータ start と len があり len >= 0 かつ、 start と start + len
が s の有効な位置であるとき、 start と len は s の有効な部分文字列を表す、と言います。
val length : string -> intval get : string -> int -> charString.get s n は文字列 s の n 文字目を返します。
String.get s n の代わりに s.[n] と書くこともできます。
n が s の有効な添字でない場合は Invalid_argument 例外が発生します。
val set : string -> int -> char -> unitString.set s n c は文字列 s の n 文字目を c で置き換えて破壊的に更新します。
String.set s n c の代わりに s.[n] <- c と書くこともできます。
n が s の有効な添字でない場合は Invalid_argument 例外が発生します。
val create : int -> stringString.create n は長さ n の新しい文字列を返します。
戻り値の文字列は何らかの任意の文字を格納しています。
n < 0 ないしは n > Sys.max_string_length の場合は Invalid_argument 例外が発生します。
val make : int -> char -> stringString.make n c は長さ n で文字 c で埋められた新しい文字列を返します。
n < 0 ないしは n > Sys.max_string_length の場合は Invalid_argument 例外が発生します。
val copy : string -> stringval sub : string -> int -> int -> stringString.sub s start len は、 s の位置 start から始まり長さ len である部分文字列を格納した、長さ len の新しい文字列を返します。
start と len が s の有効な部分文字列を表さない場合には Invalid_argument 例外が発生します。
val fill : string -> int -> int -> char -> unitString.fill s start len c は s の start 文字目から len 文字を文字 c で置き換えて破壊的に更新します。
start と len が s の有効な部分文字列を表さない場合には Invalid_argument 例外が発生します。
val blit : string -> int -> string -> int -> int -> unitString.blit src srcoff dst dstoff len は src の srcoff 文字目から len 文字を dst の dstoff 文字目にコピーします。
この関数は src と dst が同一の文字で、コピー元とコピー先の区間が重なっていても正しく動作します。
srcoff と len が src の有効な部分文字列を表さない場合や、
dstoff と len が dst の有効な部分文字列を表さない場合は
Invalid_argument 例外が発生します。
val concat : string -> string list -> stringString.concat seq sl は文字列のリスト sl の各要素の間に区切り文字列
sep を挿入して連結します。val iter : (char -> unit) -> string -> unitString.iter f s は s のすべての文字に順に関数 f を適用します。
f s.[0]; f s.[1]; ...; f s.[String.length s - 1]; () と等価です。val escaped : string -> stringval index : string -> char -> intString.index s c は文字列 s 中で文字 c が現れる最初の添字を返します。
文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。
val rindex : string -> char -> intString.rindex s c は文字列 s 中で文字 c が現れる最後の添字を返します。
文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。
val index_from : string -> int -> char -> intString.index_from s i c は文字列 s の位置 i 以降で最初に文字 c の現れる位置の添字を返します。
String.index s c は String.index_from s 0 c と等価です。
i が s の有効な位置でない場合には Invalid_argument 例外が発生します。
文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。
val rindex_from : string -> int -> char -> intString.rindex_from s i c は文字列 s の位置 i + 1 より前で最後に文字 c の現れる位置の添字を返します。
String.rindex s c は String.rindex_from s (String.length s - 1) c と等価です。
i + 1 が s の有効な位置でない場合には Invalid_argument 例外が発生します。
文字 c が 文字列 s 中に現れない場合には Not_found 例外が発生します。
val contains : string -> char -> boolString.contains s c は文字 c が文字列 s 中に現れるか検査します。val contains_from : string -> int -> char -> boolString.contains_from s start c は文字 c が文字列 s の位置 start 以降に現れるか検査します。
String.contains s c は String.contains s 0 c と等価です。
start が s の有効な位置でない場合 Invalid_argument 例外が発生します。
val rcontains_from : string -> int -> char -> boolString.rcontains_from s stop c は文字 c が文字列 s の位置 stop + 1 より前に現れるか検査します。
stop < 0 か stop が s の有効な位置でない場合 Invalid_argument 例外が発生します。
val uppercase : string -> stringval lowercase : string -> stringval capitalize : string -> stringval uncapitalize : string -> stringtypet =string
val compare : t -> t -> int