MoonBit 月兔编程语言初体验:编程的乐趣【华为开发者空间】

举报
胡琦 发表于 2024/12/14 02:05:14 2024/12/14
【摘要】 GitHub 正式收录 MoonBit 作为一门通用编程语言啦,华为云开发者社区的小伙伴们可以在开发者空间中体验啦~

一、实验介绍

MoonBit(https://www.moonbitlang.cn/)是国内首个工业级编程语言及其配套工具链,由粤港澳大湾区数字经济研究院(简称“IDEA 研究院”)基础软件中心打造的 AI 原生的编程语言以及开发者平台。通过创新框架在程序语言界形成后发优势,在编译速度、运行速度、体积大小上已成功领先传统语言。MoonBit 是一个用于云计算和边缘计算的 WebAssembly 端到端的编程语言工具链。MoonBit 目前处于 Beta-Preview 阶段,预计 2025 年内达到 1.0 阶段。2024年12月,GitHub 正式收录 MoonBit 作为一门通用编程语言!核心用户突破三万!
虽然 MoonBit 有提供无需安装任何软件,也不依赖任何服务器的IDE 环境,但我们仍然希望在华为云开发者空间云主机上能运行 MoonBit。

二、 免费领取云主机

如您还没有云主机,可点击链接,根据领取指南进行操作。

如您已领取云主机,可直接开始实验。

三、实验流程

实验流程

说明:

  1. 下载并安装 VSCode
  2. 在 VSCode 中安装插件和工具链
  3. 编写代码,运行代码

四、实验资源

云资源 消耗/时 时长
开发者空间-云主机 免费 30min

合计:0元

五、实验步骤

1、安装 Visual Studio Code

1.1 下载 Visual Studio Code

进入云主机,打开左侧Firefox浏览器,搜索https://code.visualstudio.com/ 点击下载 Visual Studio Code(此处为.deb安装包为例)。

下载deb安装包

1.2 安装 Visual Studio Code

先点击文件夹图标在文件夹中显示 deb 安装包。

在文件夹中显示 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进行安装。
安装 MoonBit Language 插件

安装完成之后结果如下:
插件安装结果

接着我们安装工具链,按下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

创建 moon项目

接着会在 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
}

functions

至此,实验完毕。

想了解更多MoonBit的内容可以访问:

https://www.moonbitlang.cn/

我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。