# string.list 库模块帮助文档

## string 成员列表 <a id="string" href="#string">&#x23;</a>

### string.list <a id="string.list" href="#string.list">&#x23;</a>
字符串列表

创建字符串列表

### string.list() <a id="string.list" href="#string.list">&#x23;</a>
[返回对象:stringlistObject](#stringlistObject)

### string.list(字符串,行分隔符,键值分隔符,引用符) <a id="string.list" href="#string.list">&#x23;</a>
第一个参数也可以是文件路径,所有参数可选  
行分隔符为"\s","\s+",或开始于"["字符时使用模式匹配语法  
如果使用了模式匹配,可在tostring的参数中指定拼接为字符串的行分隔符,不指定使用空格拼接,  
行分隔符不指定时默认为回车换行,  

键值分隔符默认为等号,  

引用符必须指字含两个单字节字符的字符串,例如两个引号，  
对于包含了分隔符的值,在生成字符串时自动置入引用符内。  
关于引用符请参考getConfiguration()函数说明，  
这里如果指定引用符则覆盖默认的quoteChar,quoteChars配置

## stringlistObject 成员列表 <a id="stringlistObject" href="#stringlistObject">&#x23;</a>

### stringlistObject.assign <a id="stringlistObject.assign" href="#stringlistObject.assign">&#x23;</a>

```aardio
stringlistObject.assign(  
	键 = 值;  
)
```

### stringlistObject.each <a id="stringlistObject.each" href="#stringlistObject.each">&#x23;</a>

```aardio
for i,k,v in stringlistObject.each() { 
	io.print("顺序:"+i,"名字:"+k,"值:"+v ) 
}
```

### stringlistObject.find("字符串参数") <a id="stringlistObject.find" href="#stringlistObject.find">&#x23;</a>
查找指定键所在位置,忽略大小写  
支持使用多个能有数指定多个查找键名,此函数将逐个查找,  
找到即返回返回三个值: 位置索引,键名,键值

### stringlistObject.getConfiguration() <a id="stringlistObject.getConfiguration" href="#stringlistObject.getConfiguration">&#x23;</a>
返回配置  

[返回对象:stringlistcfgObject](#stringlistcfgObject)

### stringlistObject.load("字符串参数") <a id="stringlistObject.load" href="#stringlistObject.load">&#x23;</a>
加载配置文件

### stringlistObject.load() <a id="stringlistObject.load" href="#stringlistObject.load">&#x23;</a>
[返回对象:stringlistObject](#stringlistObject)

### stringlistObject.remove("字符串参数") <a id="stringlistObject.remove" href="#stringlistObject.remove">&#x23;</a>
查询并移除第一个找到的键名与键值，键名忽略大小写。  
如果只是用 string.list 对象的下标设置指定键为 null 值，并不会移除键名。

### stringlistObject.save("字符串参数") <a id="stringlistObject.save" href="#stringlistObject.save">&#x23;</a>
保存配置文件

### stringlistObject.save() <a id="stringlistObject.save" href="#stringlistObject.save">&#x23;</a>
保存配置文件  

[返回对象:stringlistObject](#stringlistObject)

## stringlistcfgObject 成员列表 <a id="stringlistcfgObject" href="#stringlistcfgObject">&#x23;</a>

### stringlistcfgObject.lineDelimiter <a id="stringlistcfgObject.lineDelimiter" href="#stringlistcfgObject.lineDelimiter">&#x23;</a>
行分隔符,默认为回车换行

### stringlistcfgObject.nameValueSeparator <a id="stringlistcfgObject.nameValueSeparator" href="#stringlistcfgObject.nameValueSeparator">&#x23;</a>
键值对分隔符,默认为等号

### stringlistcfgObject.quoteChar <a id="stringlistcfgObject.quoteChar" href="#stringlistcfgObject.quoteChar">&#x23;</a>
生成字符串使用的引用符号,默认为双引号  
如果某个键名对应的字符串值包含换行符,且没有包含在其他引用符内,  
在转换为文本格式的字符串列表时,自动添加此引用符

### stringlistcfgObject.quoteChars <a id="stringlistcfgObject.quoteChars" href="#stringlistcfgObject.quoteChars">&#x23;</a>
解析字符串时支持的引用符号  
默认为单双引号、大中小括号,  
可设为空表清空所有引用符号,  
引用符号内忽略行分隔符

### stringlistcfgObject.reserve <a id="stringlistcfgObject.reserve" href="#stringlistcfgObject.reserve">&#x23;</a>
保留名字表,不可修改

### stringlistcfgObject.reserveData <a id="stringlistcfgObject.reserveData" href="#stringlistcfgObject.reserveData">&#x23;</a>
保留数据,不可手动修改
