基本的に、私が欲しいのは、次のインターフェイスの機能は次のとおりです。ATSの文字列のリストを連結する方法は?
stringlst2stringは、文字列のリストを受け取り、それらの連結を返しfun stringlst2string (list0(string)): string
。
基本的に、私が欲しいのは、次のインターフェイスの機能は次のとおりです。ATSの文字列のリストを連結する方法は?
stringlst2stringは、文字列のリストを受け取り、それらの連結を返しfun stringlst2string (list0(string)): string
。
これを達成するために標準ライブラリ関数stringlst_concat
を使用できます。説明のためにはthe referenceを参照し、実際の例についてはthis snippetを参照してください。
リニアストリームを通過することで、このようなことを簡単に行うことができます(つまり、ある形式の形式を別の形式の形式に変換することができます)。
fun
stringlst2string
(
xs: list0(string)
) : string =
strptr2string
(
string_make_stream_vt
(
stream_vt_concat
((streamize_list0_elt(xs)).map(TYPE{stream_vt(charNZ)})(lam x => streamize_string_char(x)))
)
)
これはである:例えば、次のコードは、文字列のストリームにした後(文字の)ストリームのストリームにした後、文字のストリームにした後、文字列に文字列のリストを回しますメモリ使用量に関しては非常にリーンな実装であり、最後に解放されないメモリはありません(返された文字列を格納するために必要なメモリを除く)。文字列の配列を連結したい場合は、同じアプローチが当てはまります。