第 2 课 · Découverte

格式

MD 给人看,YAML 管配置,JSON 给机器。变的是结构,绝不是内容。

~11 min7 个关卡
▶ 视频🧩 练习📄 备忘单

42 秒 · 含中文字幕 · 8.0 Mo

你会学会的 7 件事

第 2 课:格式

Regarde la leçon (42 s) : trois formats, une seule règle — c'est du texte STRUCTURÉ pour quelqu'un.

给人写

Crée `readme` : une vraie chaîne Markdown avec un titre qui commence par « # » et du gras entre doubles astérisques.

给配置写

Complète `config` (YAML) pour que `niveau` vaille l'ENTIER 1 — puis laisse le parseur vérifier : YAML.safe_load(config).

打滑的斜坡

Indentation ! Complète `config` avec un objet imbriqué : `base.host` doit valoir « localhost » (2 espaces sous `base:`).

给机器写

Complète `api` (JSON) : guillemets sur les clés, virgules partout, `niveau` = 1. JSON.parse(api) doit passer.

同样的数据,三副面孔

Complète `donnee` en JSON pour que les trois formats disent la même chose : langue = ruby (le Markdown et le YAML sont déjà faits).

第 2 课:OK

Sans aide : écris `payload` — un JSON avec une clé « tags » qui contient un tableau d'AU MOINS 2 chaînes — et parse-le.

分享这一课

← 全部课程

📄 备忘单

打印出来贴显示器上,就当是你自己的主意

📄 备忘单 — 格式(MD · YAML · JSON)

三种格式,一条规则:给某个人的结构化文本。

一次性选对

你写给…… 用 例子
人(README、文档) Markdown # 标题 · **粗体**
配置(给明天的你) YAML langue: ruby
机器(接口、文件) JSON {"langue": "ruby"}

Markdown — 给人读

# Mon projet
Du **gras**, du *italique*, et une [liste](https://example.com)

零执行,零依赖。你的 README 只负责说话。

YAML — 给人配

langue: ruby
niveau: 1          # 不加引号 → YAML 猜它是整数

base:
  host: localhost  # 两个空格 = 嵌套。不要 Tab。不是 0。

坑 1: "1"(带引号)还是字符串。1 才是整数。你的 niveau == 1 全靠这个。 坑 2: 缩进就是结构。缩进歪一格,一切跑偏。

JSON — 给机器解析

{
  "langue": "ruby",
  "niveau": 1
}

键要加引号,逗号在成对之间(最后一个后面没有),花括号配平。 坑 1: 凌晨三点少的那个逗号。就是她。永远是她。

一句话解锁全部

换的是形式,绝不是内容。 三者说的是同一件事——变的只是谁在读。

Ruby 本能

require "yaml"
YAML.safe_load(config)["langue"]   # => "ruby"  (坏了会抛异常)

require "json"
JSON.parse(payload)["tags"]        # => ["ruby", "formats"]

解析器是存在的:永远别猜结构,让它帮你验。


SlopCourse Microduck — 从 slop 到干净的代码。