{ string.c }
function rb_str_new(const ptr: PChar; len: Longint): Tvalue;
function rb_str_new2(const ptr: PChar): Tvalue;
function rb_str_new3(str: Tvalue): Tvalue;
function rb_str_new4(orig: Tvalue): Tvalue;
function rb_tainted_str_new(const ptr: PChar; len: Longint): Tvalue;
function rb_tainted_str_new2(const ptr: PChar): Tvalue;
function rb_obj_as_string(obj: Tvalue): Tvalue;
function rb_str_to_str(str: Tvalue): Tvalue;
function rb_str_dup(str: Tvalue): Tvalue;
function rb_str_plus(str1, str2: Tvalue): Tvalue;
function rb_str_times(str, times: Tvalue): Tvalue;
function rb_str_substr(str: Tvalue; beg, len: Longint): Tvalue;
procedure rb_str_modify(str: Tvalue);
function rb_str_freeze(str: Tvalue): Tvalue;
function rb_str_resize(str: Tvalue; len: Longint): Tvalue;
function rb_str_cat(str: Tvalue; const ptr: Pchar; len: Longint): Tvalue;
function rb_str_concat(str1, str2: Tvalue): Tvalue;
function rb_str_hash(str: Tvalue): Integer;
function rb_str_cmp(str1, str2: Tvalue): Integer;
function rb_str_upto(beg, fin: Tvalue; excl: Integer): Tvalue;
function rb_str_inspect(str: Tvalue): Tvalue;
function rb_str_split(str: Tvalue; const sep: PChar): Tvalue;

