sml

SML { ❄ }

SML 教科书

SML 教科书 { ❄ }

欢迎来到 SML(SNOWARE Markup Language) 的官方教科书。

这是一本循序渐进、面向初学者的教材,同时也可作工具书随时翻阅。无论你有没有用过 JSON / YAML / TOML,都能从零开始学会用 SML 写配置、描述数据。

一句话理解 SML:它是一种声明式的数据 / 配置格式,像写便签一样写配置——引号可省、逗号可省、结构靠花括号 {} 定界。

这本书怎么读

目录

章节 主题 你会学到
序章 为什么是 SML 它解决什么问题、和 JSON/YAML 的区别
第 1 章 第一个 SML 文件 键值对、注释、标量类型(字符串/数字/bool/null)
第 2 章 块与嵌套 对象块、数组、冒号可省、嵌套结构
第 3 章 片段继承 @base 定义、&base 引用,配置复用
第 4 章 include 与命名空间 拆分文件、as ns 隔离、import 别名
第 5 章 契约系统 @contract / @is,类型、默认值、枚举、区间、组合
第 6 章 环境变量与转义 $env 注入、\u\n 转义
第 7 章 多语言使用 Rust / C / JS / Lua 如何集成 SML
第 8 章 实战:完整项目 一个接近真实的部署配置范例
第 9 章 进阶:功能组合 include/契约/片段/$env 组合、8 种设计模式
第 10 章 feature 完整参考 每个 feature 的开关、语法、报错、兼容矩阵
附录 对照与排查 与 JSON/YAML/TOML 对照、常见错误

约定

准备好了吗?从 序章 开始吧。

动手练习

读完本章,在下面的编辑器里直接修改 SML 并点“运行”,立刻看到解析结果或校验错误——有输出才能高效学习。

✍ 动手练习 写出一个 SML 配置:包含 name(字符串 gateway)、port(整数 8080)、debug(布尔 true)、tags(数组含 logging 与 metrics)。写完点「验证」,再看解析结果。
💡 提示:试着把 port 改成 "8080"(加引号),验证会告诉你它不是整数 8080。
✍ 自测考题:序章自测 得分 0 / 3
Q1. SML 最像下面哪种“气质”?
Q2. 下面哪句话是对的?
Q3. 在 SML 里,下面哪个符号可以写注释?