UDL
# 規則運算符 ><
# 參數表示符 ()
# 輸出表示符 []
# 定義表示符 {}
# 列表選取符 #:int:
# 相等表示符 ==
# 不等表示符 !=
# 大於表示符 >>
# 小於表示符 <<
# 大於等於表示符 >=
# 小於等於表示符 <=
# 基礎運算符 + - * / % ^ ( ) [ ] { }
# 常見運算法 僅能夠處理變量常量以及 :num: 與基礎運算符
# 字串表示符 :str:
# 整數表示符 :int: 如 1 23
# 浮點表示符 :flo: 如 1.2 34.56
# 數字表示符 :num: 如 1 2.34
# 列表表示符 :arr: 如 [1 2 34]
# 字典表示符 :obj: 如 {a: b}
# 布林表示符 :bol: 如 true false
# 多類型表示符 ::::
# 變量表示符 $ 定義可變變量
# 常量表示符 ! 定義不可變變量
# 物件呼叫符 @ 回傳狀態
# 查詢呼叫符 ? 過濾物件,回傳 true false
# 物件定義符 _ 定義一個可用物件
# 包含表示符 & 索引輸出是否包含內容
# 條件式 if or or 可與 常見運算法 合用
# 此語言應用 OG-Open-Source 基本程式設計原則
# 1. 開始處同結束處
# 2. 有始有終
# 3. 寧可多,不可缺
# 4. 一行至少一個內容
# 5. 一行表示一個執行
# 6. 同類型不同內容必須有相同應用格式
# 7. 標頭不可分
!THIS_IS_A_CONSTANT = true
$this_is_a_variable = 31415
@And.This.Is.A.Object = no
@ThisIsAObject = "maybe"
!THIS_LANGUAGE = "UDL"
_WeCanUseSpacesToFillSpaces {
$you = :str:
if > $you == "developer" <
We.Are.Happy.That("$you use !THIS_LANGUAGE")
or > $you == "beginner" <
We.Are.Welcome.That(< [ ?Beginner == true ] && Text(0) || Text(1) >)
# We.Are.Welcome.That(> ?Beginner 0:1 <)
# $beverage = > [ $age >= 21 ] ? "Bear" : "Juice" < 可用,因為 () 獲取到布林值
# $beverage = > $age >= 21 ? "Bear" : "Juice" < 不可用,因為數字與三元運算法混合
# $beverage = > [ $age >= 21 ] && Text("Bear") || Text("Juice") <
or
$info = :str:
$info = @Browser.HTML.Lang
We.Do.Not.Know.Why.You.Are.Here("$info")
fi
}
_Beginner {
$data = SQL.Search("$@")
if > $data != &"The user is here" <
return true
or
return false
fi
}
_We {
Are(::str:int::) {
Happy(:str:) {
That(:str:) {
Log.Info("$*")
}
}
Welcome(:int:) {
That(:int:) {
Log.Debug("$*")
}
}
}
Do(::str:int::) {
Not(::str:int::) {
Know(::str:int::) {
Why (::str:int::) {
You(::str:int::) {
Are(::str:int::) {
Here(:str:) {
$msg = $1
Http.Post("123.45.67.89", "$msg")
# This will interrupt execution and output an error.
# Because :int: is not used
}
}
}
}
}
}
}
}
WeCanUseSpacesToFillSpaces()