作者: MonoEven
详情:toml4ahk
参考:toml4j
简单入门
filename := "test"
_file := fileopen(filename, "r")
_string := "a = 1"
_toml1 := Toml().read(_string)
_toml2 := Toml().read(_file)
_toml3 := Toml().read(_toml1)
_toml4 := Toml().read(filename, _type := "file")
_toml5 := Toml().read(filename, _type := "file", encoding := "utf-8")
_toml_with_defaults := Toml(_toml1).read(_file)
_toml := Toml().read("a = 1")
filename := "test"
_file := fileopen(filename, "rw")
_writer := StringWriter()
; 返回值永远是字符串形式。
output1 := TomlWriter().write(_toml)
output2 := TomlWriter().write(_toml, _writer)
; output2 == _writer.toString()
output3 := TomlWriter().write(_toml, _file)
; output3 == _file.read()
output4 := TomlWriter().write(_toml, filename)
; output4 == fileread(filename, "utf-8")
具体介绍
对于所有java的特定类型,例如ArrayList,Boolean,HashMap。。或者是Toml类型,都有一个便捷的转为ahk的办法,即.toahk()
在使用Toml().read()解析文件或字符串为Toml类型之后,可以使用以下函数获取特定的键所对应的值,如果不符合选定类型,或者键不存在则返回Java.Null()
getString(String)
getDate(String) ; 获取的是Date类型,有toString函数,可以直接msgbox
getBoolean(String) ; 获取的是Boolean类型,有toString函数,可以直接msgbox
getInt(String)
getLong(String)
getFloat(String)
getDouble(String)
getList(String) ; 获取的是ArrayList类型,可以用toahk转为Array类型
getTable(String) ; 返回由该键对应的HashMap创建的新的Toml类型
getTables(String) ; 返回ArrayList类型,里面装的都是Toml类型,可以循环获取
默认值
Toml在创建时可以指定默认值,这会影响使用get(key)时的返回值,具体见Github上的介绍。
测试
如果你不清楚一些使用办法,可以去test里寻找帮助,在test里有几乎所有可能的使用方法。
特殊
与大多数库不同的是,toml4ahk还提供了一种特殊的转换为绑定类的方法,即Toml类型可以使用to函数
(Toml).to(targetClass, , protoFlag)
; protoFlag影响类注册时选定的是内部还是外部,建议为false,但默认为true便于一些简单的使用
更多细节见Github的介绍。
下载地址
toml4ahk
mono
复制