开源最前线(ID:OpenSourceTop) 猿妹综合整理
项目地址:
https://github.com/StepfenShawn/Cantonese
还记得之前火遍全网的文言文编程语言的Huang Lingdong,还有那个东北话编程dongbei么?近日,Github上一个名叫Cantonese的项目成功引起了我的注意,这竟然是一个粤语编程语言。
作为一个资深的TVB爱好者,这个项目必须得粉,简单来说,这个项目可以用粤语来编程,计算机可以读懂你写的粤语代码,比如用粤语写第一个程序Hello World:
畀我睇下 " Hello World! " 点样先?
讲嘢 |A| 系 1
讲嘢 |B| 系 2
输出从1到100
讲嘢: |start| 系 0
落操场玩跑步
讲嘢: |start| 系 |start + 1|
畀我睇下 |start| 点样先?
玩到 |100 比唔上 start 或者 100 系 start| 为止
当然用For循环也行:
|A| 从 1 行到 100
畀我睇下 |A| 点样先?
行晒
讲嘢: |A| 系 2
如果 |A 系 2| 嘅话 -> {
畀我睇下 "A 系 2" 点样先?
}
唔系嘅话 -> {
畀我睇下 "A 唔系 2" 点样先?
}
用Cantonese
实现阶乘
$factorial |项数| 要做咩:
如果 |项数 系 0| 嘅话 -> {
返转头 1
}
唔系嘅话 -> {
返转头 |factorial(项数 减 1) 乘 项数|
}
搞掂
$get_max |数字1, 数字2| 要做咩:
如果 |数字1 比唔上 数字2| 嘅话 -> {
返转头 |数字2|
}
唔系嘅话 -> {
返转头 |数字1|
}
搞掂
用下 |get_max(23, 17)|
try-except-finally:
执嘢 -> {
讲嘢: |A| 系 |B|
}
揾到 |NameError| 嘅话 -> {
畀我睇下 "揾到NameError" 点样先?
}
执手尾 -> {
畀我睇下 "执手尾" 点样先?
讲嘢: |A| 系 1
讲嘢: |B| 系 1
畀我睇下 |A, B| 点样先?
}