MoonBit 月兔编程语言初体验:编程的乐趣【华为开发者空间】
一、实验介绍
MoonBit(https://www.moonbitlang.cn/)是国内首个工业级编程语言及其配套工具链,由粤港澳大湾区数字经济研究院(简称“IDEA 研究院”)基础软件中心打造的 AI 原生的编程语言以及开发者平台。通过创新框架在程序语言界形成后发优势,在编译速度、运行速度、体积大小上已成功领先传统语言。MoonBit 是一个用于云计算和边缘计算的 WebAssembly 端到端的编程语言工具链。MoonBit 目前处于 Beta-Preview 阶段,预计 2025 年内达到 1.0 阶段。2024年12月,GitHub 正式收录 MoonBit 作为一门通用编程语言!核心用户突破三万!
虽然 MoonBit 有提供无需安装任何软件,也不依赖任何服务器的IDE 环境,但我们仍然希望在华为云开发者空间云主机上能运行 MoonBit。
二、 免费领取云主机
如您还没有云主机,可点击链接,根据领取指南进行操作。
如您已领取云主机,可直接开始实验。
三、实验流程
说明:
- 下载并安装 VSCode
- 在 VSCode 中安装插件和工具链
- 编写代码,运行代码
四、实验资源
云资源 | 消耗/时 | 时长 |
---|---|---|
开发者空间-云主机 | 免费 | 30min |
合计:0元
五、实验步骤
1、安装 Visual Studio Code
1.1 下载 Visual Studio Code
进入云主机,打开左侧Firefox浏览器,搜索https://code.visualstudio.com/ 点击下载 Visual Studio Code(此处为.deb安装包为例)。
1.2 安装 Visual Studio Code
先点击文件夹图标在文件夹中显示 deb 安装包。
接着打开终端。
执行安装命令:
sudo dpkg -i code_1.96.0-1733888194_amd64.deb
1.3 验证安装结果
我们可以继续通过命令新建文件夹并在 VSCode 中打开新建的文件夹:
sudo mkdir hello_moonbit && code hello_moonbit
2、安装 MoonBit Language 插件
如下图中,点击1,在2处输入moonbit
,点击3进行安装。
安装完成之后结果如下:
接着我们安装工具链,按下shift+cmd+p
快捷键(mac快捷键,windows和linux快捷键是ctrl+shift+p
),输入 MoonBit:install latest moonbit toolchain
,随后会出现提示框,点击“yes”,等待程序下载完成。
下载完成后,重启vscode让PATH环境变量生效。
3、你的第一个 MoonBit 程序
3.1 新建终端
我们打开 VSCode,新建终端:
3.2 初始化项目
输入命令:
cd ~ && moon new hello && cd hello
接着会在 VSCode 中打开项目,我们点击1打开 main.mbt
,点击2 run,可以看到3终端输入日志。
4、学习MoonBit基础语法
4.1 表达式和运算符
- expressionsAndOperators.mbt
let x: Int = 10
let a: Double = 3.14
let s: String = "Hello"
let 通过编译: Int = x + (a + 0.2).to_int()
// let 不通过编译: String = s + (a + 0.2).to_int() // 删除行首两个斜杠就能看到报错
fn main {
println(true && false) // 与
println(false || true) // 或
println(not(true)) // 非
println("=====")
println(-4 / 3) // 整数除法
println(2147483647 + 1) // 溢出
println(2147483647L + 1L) // 不溢出
println(2147483648L.to_int()) // 溢出
println("=====")
println(0.1 + 0.2 == 0.3) // 浮点数加法
println(0.1 + 0.2 - 0.2) // 浮点数加减法
println("=====")
println('a'.to_int()) // 字符转数字
println(Char::from_int(65)) // 数字转字符
println("=====")
println((2023, 10, 24).0) // 多元组的访问
println(("Bob", 3).1) // 多元组的访问
}
4.2 函数
- functions.mbt
// 顶层函数
fn add3(x: Int, y: Int, z: Int)-> Int {
x + y + z
}
fn main {
println(add3(1,2,3))
println(foo())
}
// 局部函数
fn foo() -> Int {
fn inc(x) { x + 1 } // 命名为 `inc`
fn (x) { x + inc(2) } (6) // 匿名,立即应用到整数字面量 6
}
至此,实验完毕。
想了解更多MoonBit的内容可以访问:
我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987
- 点赞
- 收藏
- 关注作者
评论(0)