Skip to content

語法 der ​

符號一覽 ​

符號代表啥
¤宣告變數
§定義函式
λ閉包
»印出
⟦ ⟧區塊
? / ¿如果 / 不然
@while
#for
⇶foreach
^return
↤yield
‼ ⁇ ⌦try/catch/finally
⊕匯入模組
⊘ ↻break / continue
☑ ☐ ∅true / false / null
‡ ⋔ ⇢ †類別機制
⚡ ⏸非同步 / 等待

變數 ​

yl
¤ x = 5
¤ 名字 = "小七"
¤ 帥 = ☑
¤ 空 = ∅
¤ 數字 = [1, 2, 3]
¤ 人 = ⟪"名字": "小七", "年紀": 25⟫

要加型別也可以:

yl
¤ x :int = 5
¤ 名字 :str = "小七"

條件 ​

yl
? x > 5 ⟦
    » "比 5 大啦"
⟧ ¿ ⟦
    » "沒比 5 大 der"
⟧

迴圈 ​

yl
@ i < 10 ⟦ i = i + 1 ⟧
# i = 0 .. 10 ⟦ » i ⟧
⇶ x = [1, 2, 3] ⟦ » x ⟧

函式與閉包 ​

yl
§ 加(a, b) ⟦ ^ a + b ⟧
¤ 兩倍 = λ (x) ⟦ ^ x * 2 ⟧

類別 ​

yl
‡ 狗 ⟦
    ⋔ init(名字) ⟦ this.名字 = 名字 ⟧
    ⋔ 叫聲() ⟦ ^ "汪汪!" ⟧
⟧

¤ 小七 = ⇢ 狗("小七")

生成器 / 非同步 ​

yl
§ 偶數(n) ⟦ # i = 0 .. n ⟦ ? even(i) ⟦ ↤ i ⟧ ⟧ ⟧

⚡ § 慢慢算(x) ⟦ ^ x * 2 ⟧
¤ t = 慢慢算(21)
» ⏸ t

生成器是正港 PHP Fiber 實作,不是假的 — 這是マジ lightweight。

錯誤處理 ​

yl
‼ ⟦ ¤ r = 10 / 0 ⟧ ⁇ e ⟦ » "抓到惹:", e ⟧ ⌦ ⟦ » "finally 跑完了" ⟧

錯誤訊息會帶行號:抓到惹:[行 1] 除以零。

模組 ​

yl
⊕ "std/math.yl" as m
» m.квадрат(6)

小編提醒

yl> 那個是 REPL 自己印的 prompt,你自己母湯打進去黑!

用 PHP 寫 der。MIT 授權,母湯亂用。