aardio 文档
aardio 范例: 字符串生成器
//字符串生成器
import console;
import string.builder;
//创建字符串生成器(内部基于动态指针)
var bs = string.builder() //可右键点 string.builder,然后点「跳转到定义」
//设置初始值
bs.assign(" 初始值")
for(i=1;100;1){
bs.append( tostring(i) );//追加字符串
bs.appendf( "%d",i );
}
//清除两侧空格
bs.trim()
//字符串操作函数
console.log("右侧取3个字符" ,bs.rightString(3) );
//转换为字符串
console.log("转换为字符串" ,tostring(bs) );
console.log("预分配内存大小",bs.capacity())
console.log("实际存储内容大小",bs.size())
//重新调整字符串长度
bs.resize(10)
//长度增加 2 个字节
bs.expand(2)
//释放多余的内存
bs.reserve(0);
//bs对象在不使用时可自动释放,但也可以主动调用free()函数尽量释放不用的内存
bs.free(); //在重新分配内存之前就不能再读写该内存了
if( ! bs.capacity() ){
//但是重新分配内存又可以用了
bs.reserve(100);
}
bs += "重新分配内存又可以用了";
console.log(bs)
console.log( bs.str() )
//string.builder 对象可以与结构体、字符串、buffer 等直接连接(其他非 null 类型自动转换为字符串,null 值忽略)
bs += {BYTE x[] ='dbcd\0'}
//bs.write 函数可以写入任意个任意类型的参数,遇 null 值停止写入。
bs.write( "abc",{BYTE x[] ='dbcd\0'},123,true,raw.buffer("buf"));
console.log( bs.toUtf16() )
//在下标中用负数表示尾部倒计数索引(只有 string.build 支持,其他字符串或 buffer 下标中写负数会返回 null 值)
var lastByte = bs[-1];
console.log(lastByte);
console.pause(true);
Markdown 格式