sample\iron_config\sample_toml.hsp » Plain Format
;============================================================
; iron_toml サンプル: 設定ファイルをパースして表示
;============================================================
#include "hsp3cl_net_64.as"
#include "iron_toml.hsp"
sdim src, 2048
src = "# アプリ設定\n"
src += "app_name = \"MyApp\"\n"
src += "version = \"1.0.3\"\n"
src += "\n"
src += "[server]\n"
src += "host = \"api.example.com\"\n"
src += "port = 8080\n"
src += "timeout = 30\n"
src += "ssl = true\n"
src += "\n"
src += "[database]\n"
src += "driver = \"postgres\"\n"
src += "pool_size = 16\n"
src += "retry_interval = 5.5\n"
dimmap cfg
toml_parse cfg, src
if stat < 0 {
toml_last_error emsg, eln
mes "parse error line " + eln + ": " + emsg
end 1
}
mes "=== トップレベル ==="
mes "app_name: " + cfg("app_name")
mes "version : " + cfg("version")
mes ""
mes "=== [server] ==="
mes "host : " + cfg("server.host")
mes "port : " + toml_get_int(cfg, "server.port", 0)
mes "timeout: " + toml_get_int(cfg, "server.timeout", 0) + " sec"
mes "ssl : " + toml_get_bool(cfg, "server.ssl", 0)
mes ""
mes "=== [database] ==="
mes "driver : " + cfg("database.driver")
mes "pool_size : " + toml_get_int(cfg, "database.pool_size", 1)
mes "retry_interval: " + toml_get_double(cfg, "database.retry_interval", 0.0)
mes ""
mes "全キー数: " + mapcount(cfg)
end 0