StringLabels

このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

last mod. 2009-09-10 (木) 11:56:45
module StringLabels: sig  end

文字列処理です。


val length : string -> int

与えられた文字列の長さ (文字数) を返します。

val get : string -> int -> char

StringLabels.get s n は文字列 s の n 番目の文字を返します。 先頭文字は 0 番目、終端文字は StringLabels.length s - 1 番目になります。StringLabels.get s n と書く代わりに s.[n] と書くこともできます。

n が 0 から (StringLabels.length s - 1) までの範囲になかったら例外 Invalid_argument "index out of bounds"を発生します。

val set : string -> int -> char -> unit

StringLabels.set s n c は文字列 s の n 番目の文字を c に書き換えます。 n が 0 から (StringLabels.length s - 1) までの範囲になかったら例外 Invalid_arguement "index out of bounds"を発生します。 StringLabels.set s n c と書く代わりに s.[n] <- c と書くこともできます。

val create : int -> string

StringLabels.create nは長さnの文字列を新しく作って返します。初期状態で文字列がどのような文字を持っているかは不明です。 n < 0 または n > Sys.max_string_length である場合は例外 Invalid_argument を発生します。

val make : int -> char -> string

StringLabels.make n c は長さ n の文字列を新しく作って返します。初期状態で文字列は c で埋められています。 n < 0 または n > Sys.max_string_length である場合は例外 Invalid_argument を発生します。

val copy : string -> string

与えられた文字列のコピーを作って返します。

val sub : string -> pos:int -> len:int -> string

StringLabels.sub s start len は長さ len の文字列を新しく作って返します。この文字列は s の start 番目から start + len - 1 番目までの文字で構成された部分文字列です。 start と len が s の部分文字列指定として不正であった場合は例外 Invalid_argument を発生します。不正な場合とは、start < 0 または start + len > StringLabels.length s の場合です。

val fill : string -> pos:int -> len:int -> char -> unit

StringLabels.fill s start len c は文字列 s の start 番目から start + len - 1 番目までの文字をすべて c に書き換えます。 start と len が s の部分文字列指定として不正であった場合は例外 Invalid_argument を発生します。

val blit : src:string -> src_pos:int -> dst:string -> dst_pos:int -> len:int -> unit

StringLabels.blit src srcoff dst dstoff len は文字列 src の srcoff 番目から始まる len 文字を、文字列 dst の dstoff 番目へコピーします。src と dst は実体の同じ文字列で、コピー元とコピー先の範囲指定が重なっていても正常に動作します。 srcoff と len が src の部分文字列指定として不正であったり、dstoff と len が dst の部分文字列指定として不正であったりした場合は例外 Invalid_argument を発生します。

val concat : sep:string -> string list -> string

StringLabels.concat sep sl は文字列のリスト sl を繋いで 1 つの文字列とします。それぞれの文字列と文字列の間にはセパレータ文字列 sep を挿入します。

val iter : f:(char -> unit) -> string -> unit

StringLabels.iter f s は s の各文字を順に関数 f に適用します。f s.(0); f s.(1); ...; f s.(StringLabels.length s - 1); () と等価です。

val escaped : string -> string

引数の文字列をコピーして、Objective Caml の字句規則に従い特殊文字をエスケープして返します。引数の文字列が特殊文字を持たなかった場合はコピーではなく引数をそのまま返します。

val index : string -> char -> int

StringLabels.index s c は文字列 s 中で文字 c が左端から探して最初に現れる位置を返します。 s 中から c が見つからなかった場合は例外 Not_found を発生します。

val rindex : string -> char -> int

StringLabels.index s c は文字列 s 中で文字 c が右端から探して最初に現れる位置を返します。 s 中から c が見つからなかった場合は例外 Not_found を発生します。

val index_from : string -> int -> char -> int

StringLabels.index と同じですが、探し始める位置を第二引数に指定できます。 StringLabels.index s c は StringLabels.index_from s 0 c と等価です。

val rindex_from : string -> int -> char -> int

StringLabels.rindex と同じですが、探し始める位置を第二引数に指定できます。 StringLabels.rindex s c は StringLabels.rindex_from s (StringLabels.length s - 1) c と等価です。

val contains : string -> char -> bool

StringLabels.contains s c は文字列 s 中に文字 c があるかどうか検査します。

val contains_from : string -> int -> char -> bool

StringLabels.contains_from s start c は文字列 s の start 番目から終端までの間に文字 c があるかどうか検査します。start が s の位置指定として不正であった場合は例外 Invalid_argument を発生します。

val rcontains_from : string -> int -> char -> bool

StringLabels.rcontains_from s stop c は文字列 s の先頭から stop 番目までの間に文字 c があるかどうか検査します。stop が s の位置指定として不正であった場合は例外 Invalid_argument を発生します。

val uppercase : string -> string

引数の文字列をコピーして、小文字 (ISO Latin-1 (8859-1) 文字集合のアクセント付き文字も含む) をすべて大文字に変換して返します。

val lowercase : string -> string

引数の文字列をコピーして、大文字 (ISO Latin-1 (8859-1) 文字集合のアクセント付き文字も含む) をすべて小文字に変換して返します。

val capitalize : string -> string

引数の文字列をコピーして、先頭文字を大文字にして返します。

val uncapitalize : string -> string

引数の文字列をコピーして、先頭文字を小文字にして返します。

type t = string

string型へのエイリアスです。

val compare : t -> t -> int

compareと同じ動作をする比較関数です。型tとcompare関数によって、StringモジュールをSet.MakeやMap.Makeファンクタに渡すことができます。

新規 編集 添付