Go to the first, previous, next, last section, table of contents.
- string_to_tb(s)
-
- tb_to_string(tb)
-
- write_to_tb(s,tb)
-
:: 文字列可変長配列型(text buffer)のデータの処理
- return
-
文字列可変長配列型(string_to_tb), 文字列型(tb_to_string)
- s
-
文字列
- tb
-
文字列可変長配列型
-
string_to_tb(s)
は, 文字列 s をはじめの要素とする
文字列可変長配列型オブジェクトを生成する.
-
tb_to_string_(tb)
は,
文字列可変長配列型オブジェクト tb から通常の文字列オブジェクトを生成する.
-
write_to_tb(s,tb)
は, 文字列 s を
文字列可変長配列型オブジェクト tb へ書き出す.
- SS を文字列変数とするとき,
SS += "文字列" で SS へ文字列を書き足していくことができるが,
無駄なメモリを大量に消費する.
代りに関数
write_to_tb
を用いるべきである.
文字列可変長配列型オブジェクトは文字列の可変長の配列でありメモリ管理に優しい
データ構造である.
[219] T=string_to_tb("");
[220] write_to_tb("Hello",T);
0
[221] write_to_tb(" world!",T);
0
[222] tb_to_string(T);
Hello world!
ChangeLog
-
この関数は 2004-3 に print_tex_form を効率化するために書かれた.
-
OpenXM_contrib2/asir2000 の下の以下のファイルを見よ.
io/ox_asir.c 1.52, builtin/strobj.c 1.12--1.13, 1.16,
engine/str.c 1.5, parse/quote.c 1.9.
-
rtostr が text buffer 型のデータに関しておそかった. 速度の改善は
asir2000/io/pexpr_body.c 1.2, asir2000/parse/lex.c 1.32.
Go to the first, previous, next, last section, table of contents.