零基础掌握粤语编程语言:从入门到实战全指南

零基础掌握粤语编程语言:从入门到实战全指南

【免费下载链接】Cantonese 粤语編程語言.The Cantonese programming language. 【免费下载链接】Cantonese 项目地址: https://gitcode.com/gh_mirrors/ca/Cantonese

引言

还在为编程语言中的英文关键字感到困惑吗?粤语编程语言(The Cantonese programming language)为你提供全新的编程体验!作为一门用粤语与计算机沟通的编程语言,它让粤语母语者能够用最熟悉的语言编写代码,消除语言障碍,提升编程效率。本文将带你从零开始,全面掌握粤语编程语言的安装、基础语法、高级特性及实战应用,让你轻松迈入粤语编程的世界。

粤语编程语言Logo

安装指南

粤语编程语言可以通过Python包管理工具pip快速安装,支持Windows、macOS和Linux系统。

操作系统安装命令备注
Windowspip install Cantonese需先安装Python3
macOSpip3 install Cantonese建议使用虚拟环境
Linuxsudo pip3 install Cantonese可能需要管理员权限

安装完成后,可通过以下命令验证版本:

cantonese -v

第一个程序:Hello World

让我们从经典的"Hello World"程序开始,体验粤语编程的魅力。创建一个名为HelloWorld.cantonese的文件,输入以下代码:

畀我睇下「"Hello World!"」點樣先?
收工

通过以下命令运行程序:

cantonese HelloWorld.cantonese

运行结果将在终端输出"Hello World!"。这个简单的程序使用了粤语编程语言的核心输出语句畀我睇下(让我看看),用于在控制台打印内容。

基础语法

变量定义与赋值

粤语编程语言使用介紹返(介绍)关键字定义变量,用(是)进行赋值:

介紹返「A」係 1
介紹返「B」係 2

也可以使用批量赋值的方式:

介紹返 =>
    「A」係 1
    「B」係 2
先啦

要删除变量,可以使用冇鳩用冇撚用(没用)关键字:

冇鳩用 A,B

数据类型与操作

粤语编程语言支持常见的数据类型,包括整数、浮点数、字符串、列表等。使用起底(起底)关键字可以查看变量类型:

介紹返「A」係 1
起底「A」  // 输出 <class 'int'>

列表(数组)的定义和使用:

|[1, 2, 3, 4]| 拍住上 => |數組|
畀我睇下 |數組[0]| 點樣先??  // 输出 1

控制流语句

条件语句

使用如果(如果)和唔係(否则)关键字实现条件判断:

介紹返「A」係 2
如果 |A 係 2| 嘅话 => {
    畀我睇下「"A 係 2"」點樣先??
}
唔係 嘅话 => {
    畀我睇下「"A 唔係 2"」點樣先??
}

也可以使用睇撚住(match)实现多条件判断:

介紹返 状态 係 404
睇撚住 状态 =>
    | 撞见 400 => { 畀我睇下 "Bad request" 點樣先?? }
    | 撞见 401 => { 畀我睇下 "Unauthorized" 點樣先?? }
    | 撞见 403 => { 畀我睇下 "Forbidden" 點樣先?? }
    | 撞见 404 => { 畀我睇下 "Not found" 點樣先?? }
    | _ => { 畀我睇下 "乜都唔係" 點樣先?? }
搞掂
循环语句

使用落操场玩跑步(循环)实现循环操作:

介紹返 =>
    「start」係 0
    「结束」係 唔啱
先啦
落操场玩跑步
    介紹返「start」係「start + 1」
    畀我睇下「start」 點樣先??
    如果 |start >= 10| 嘅话 => {
        飲茶先啦  // 相当于 break
    }
玩到「结束」为止

也可以使用更简洁的从...行到...(for)循环:

「A」从 1 行到 10
    畀我睇下「A」點樣先??
到步

函数定义与调用

使用點部署(怎么部署)和搞掂(搞定)关键字定义函数:

介紹返 $get_max
    |数字1, 数字2| 點部署
        如果 |数字1 比唔上 数字2| 嘅话 => {
            还数「数字2」
        }
        唔係 嘅话 => {
            还数「数字1」
        }
    搞掂

调用函数时使用下 ->(下)关键字:

介紹返 結果 係 
    get_max 下 -> 23, 17
畀我睇下 結果 點樣先??  // 输出 23

高级特性:宏定义

粤语编程语言引入了类似Rust的宏定义功能,允许用户扩展语言语法。使用袋仔的法寶(袋仔的法宝)关键字定义宏:

介紹返 sayhello 係 袋仔的法寶 =>
    | (Hello @s: str) => { 畀我睇下 "Hello " + @s 點樣先?? }
    | () => { 畀我睇下 "Hello" 點樣先?? }
搞掂

sayhello!(Hello "世界")  // 输出 "Hello 世界"
sayhello!()  // 输出 "Hello"

宏可以匹配不同的模式并生成相应的代码,极大地增强了语言的灵活性。例如,我们可以定义一个计算宏:

介紹返 計算 係 袋仔的法寶 =>
    | (同我計 @左: lit 加 @右: lit 好唔好) => { @左 + @右 }
    | (同我計 @左: lit 减 @右: lit 好唔好) => { @左 - @右 }
搞掂

畀我睇下 計算!(同我計 1 加 2 好唔好) 點樣先??  // 输出 3

面向对象编程

粤语编程语言支持面向对象编程,使用係 乜X(是什么)定义类,佢個老豆叫(他的爸爸叫)指定父类,佢識得(他会)定义方法:

介紹返 duck 係 乜X {
    佢個老豆叫 object
    佢嘅 |性别| 係 "公"
    佢識得 |游下水| => {
        畀我睇下 "Duck is swimming" 點樣先??
    }
    佢識得 |睡下觉| => {
        畀我睇下 "Duck is sleeping" 點樣先??
    }
}

创建对象并调用方法:

介紹返 myduck 係 阿->duck(性别="公")
myduck -> 游下水() 啦!  // 输出 "Duck is swimming"
好心 |myduck -> 睡下觉| 啦!  // 输出 "Duck is sleeping"

实战应用

算法实现:冒泡排序

以下是使用粤语编程语言实现的冒泡排序算法:

介紹返 $bubble_sort
    |数组| 點部署
        介紹返 |长度| 係 |数组 嘅 长度|
        |i| 从 1 行到 |长度|
            |索引| 从 0 行到 |长度 减 i|
                如果 |数组[索引 加 1] 比唔上 数组[索引]| 嘅话 => {
                    介紹返 |交换| 係 |数组[索引]|
                    介紹返 |数组[索引]| 係 |数组[索引 加 1]|
                    介紹返 |数组[索引 加 1]| 係 |交换|
                }
            到步
        到步
        畀我睇下 |数组| 點樣先??
    搞掂

bubble_sort 下 -> |[64, 34, 25, 12, 22, 11, 90]| 啦  // 输出排序后的数组

Web开发

粤语编程语言可以快速开发简单的网页应用。以下代码创建一个基本的Web页面:

{% std::macros::net %}
使下 std::net::监视;

介紹返 html 係 HTML老作一下! (
    打标题 => [ "我嘅第一个网页" ]
    拎笔 => [ "Hello World" ]
)

监视 下 -> |html, "127.0.0.1", 80| 啦

运行程序后,访问127.0.0.1:80即可看到网页效果:

Web开发示例结果

游戏开发

粤语编程语言支持使用Kivy框架开发GUI应用和简单游戏。以下是一个简单的Hello World应用:

使下 py::kivy

介紹返 HelloApp 係 乜X {
    佢個老豆叫 App
    佢識得 HelloWorld |自己| => {
        |同我show| 下 -> "Hello World" 就係 |做嘢|
        还数 |做嘢|
    }
}

App运行 下 -> |HelloApp, HelloApp()->HelloWorld| 啦

运行结果:

HelloApp示例

更复杂的游戏示例可以参考迷宫游戏

迷宫游戏结果

海龟绘图

使用粤语编程语言的海龟绘图库,可以轻松创建图形:

{% std::macros::ui %}
使下 py::turtle

老作一下!(
    首先 |画个圈(100)|,
    跟住 |写隻字("Made By Cantonese\n", False,'center')|,
    最尾 |听我支笛()|,
)

运行结果:

海龟绘图示例

运行方式

粤语编程语言支持多种运行方式,满足不同场景需求:

  1. Python虚拟机运行(默认方式):
cantonese [文件名]
  1. 转换为Python代码
cantonese [文件名] -to_py
  1. 使用LLVM执行(需安装llvmlite和clang):
cantonese [文件名] -llvm
  1. 转换为HTML
cantonese [文件名] -to_web

常见问题解答

Q: 运行程序时出现中文乱码怎么办?

A: 确保源代码文件使用UTF-8编码保存,Windows系统可能需要额外配置以支持ANSI颜色显示:

reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1

Q: 如何调用Python库?

A: 使用使下(使用)关键字导入Python库:

使下 py::os::*
使下 py::math::*

Q: 宏定义时出现匹配错误怎么办?

A: 检查宏模式定义是否正确,确保元变量类型与使用场景匹配。可以使用-z参数查看详细错误信息。

总结与展望

粤语编程语言为粤语母语者提供了一种全新的编程方式,通过自然的粤语语法降低编程入门门槛。本文介绍了从安装到高级应用的全方位知识,包括基础语法、函数、面向对象、宏定义等核心特性,以及Web开发、游戏开发、算法实现等实战案例。

项目仍在持续发展中,未来计划支持更多语言特性和库,完善LLVM执行引擎,提升性能和兼容性。欢迎访问项目仓库获取更多示例和最新更新,加入粤语编程社区,一起推动粤语编程语言的发展。

通过粤语编程语言,我们不仅能更自然地与计算机沟通,还能为粤语文化在科技领域的传承和创新贡献力量。

【免费下载链接】Cantonese 粤语編程語言.The Cantonese programming language. 【免费下载链接】Cantonese 项目地址: https://gitcode.com/gh_mirrors/ca/Cantonese

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值