Cantonese 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Cantonese 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Cantonese 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Python
操作系统 跨平台
软件类型 开源软件
所属分类 编程语言
开源组织
地区 国产
投 递 者 白开水不加糖
适用人群 未知
收录时间 2021-02-03

软件简介

Cantonese 是一门用粤语来与计算机沟通的编程语言。在这个语言里,计算机能够读懂你写的粤语。因此,你可以用粤语来操作(虐待)计算机。

快速入门

Hello World

用粤语写的第一个程序Hello World:

畀我睇下 " Hello World! " 点样先?

赋值语句

讲嘢 |A| 系 1
讲嘢 |B| 系 2

查看变量类型

讲嘢 |A| 系 1
起底: |A|

运行结果:

<class 'int'>

循环

打印从1到100:

讲嘢: |start| 系 0
落操场玩跑步
    讲嘢: |start| 系 |start + 1|
    畀我睇下 |start| 点样先?
玩到 |start < 100| 为止

当然也可以使用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)|

抛出异常

掟个 |ImportError| 来睇下?

断言语句

谂下: |1 + 1 == 3| ?

运行结果:

Traceback (most recent call last):
    ......
AssertionError

错误捕捉语句

try-except-finally:

执嘢 -> {
    讲嘢: |A| 系 |B|
}
揾到 |NameError| 嘅话 -> {
    畀我睇下 "揾到NameError" 点样先?
}
执手尾 -> {
    畀我睇下 "执手尾" 点样先?
    讲嘢: |A| 系 1
    讲嘢: |B| 系 1
    畀我睇下 |A, B| 点样先?
}

调用Python库

使下 os
使下 math

面向对象编程

声明对象duck, 继承至object, 分别有两个方法游水睡觉:

咩系 |duck|?
    佢个老豆叫 |object|
    佢识得 |游水| -> {
        畀我睇下 "Duck is swimming" 点样先?
    }
    佢识得 |睡觉| -> {
        畀我睇下 "Duck is sleeping" 点样先?
    }
明白未啊?

调用类中的方法:

用下 |duck().游水()|
用下 |duck().睡觉()|

运行结果:

Duck is swimming
Duck is sleeping

更多例子

显示当前时间

使下 datetime
畀我睇下 |宜家几点| 点样先?

运行结果:

2021-01-17 09:16:20.767191

暂停

使下 time
训阵先 /* 暂停2s */
训 5s /* 暂停5s */

来个随机数

使下 random
讲嘢: |A| 就 |求其啦|

运行结果:

0.15008236307867207

海龟绘图

老作一下 -> {
    首先: |画个圈(100)|
    跟住: |写隻字("Made By Cantonese\n")|
    最尾: |听我支笛()|
}

运行结果:

 

迷宫小游戏

代码

运行结果:

这里查看更多例子.

如何运行?

Cantonese语言运行在Python虚拟机上,环境只支持Python3,因为这才符合广东人先进的思想!

python src/cantonese.py [-文件名]

将Cantonese转化成Python:

python src/cantonese.py [文件名] -to_py

例如:

python src/cantonese.py examples/helloworld.cantonese -to_py

运行结果:

print(" Hello World! ")
exit()

TODOs

  • 完善语法错误检查
  • 添加更多语句
  • 编写编辑器插件
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(45) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
45 评论
25 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部