19 个稳定版本
3.4.7 | 2024 年 3 月 29 日 |
---|---|
3.4.6 | 2023 年 11 月 24 日 |
3.4.4 | 2023 年 10 月 23 日 |
3.4.1 | 2023 年 6 月 27 日 |
2.5.3 | 2022 年 11 月 24 日 |
#49 在 编程语言 中
200KB
6K SLoC
Clue 编程语言
Clue 是一种将代码快速编译成 Lua 代码的编程语言,其语法与 C 或 Rust 等语言类似。
Clue 尝试尽可能简单(仅稍微复杂的语法),但添加了许多可选功能,可以使代码看起来更好,或者使某些事情(如元表)更容易编写。
Clue 不编译为特定版本的 Lua:可以通过切换标志来更改输出,允许大多数甚至所有版本的 Lua 都可以用 Clue 编译。
一般语法差异
- 代码块现在在
{}
中,而不是在then
/do
/repeat
和end
/until
中 - 注释使用
// ...
或/* ... */
创建
如果您想查看 Clue 中每个更改和新增的完整文档,请查看 维基百科。
示例代码
@ifos linux {
@define GREETING "Hello, Linux user "
} @else_ifos macos {
@define GREETING "Hello, MacOS user "
} @else {
@define GREETING "Hello, Windows user "
}
@macro GREET(target) { $GREETING .. $target .. "!" }
print($GREET!("Maiori"))
local fn add(x = 0, y = 0) {
return x + y
}
global n = 1
while n < 10 {
n += add($, $)
match n {
3 => {
continue
}
4 if x => {
break
}
default => {
print(n < 3 ? n : -n)
}
}
}
更多示例可以在以下位置找到:
- 在 维基百科
- 在 示例目录
- 一个用 LÖVE 制作的 游戏
- Clue 的 MessagePack 库
- 用 LÖVE 制作的 简单图形可视化器
如何安装
使用 Cargo
- 在控制台中粘贴并运行此命令:
cargo install clue
- 在控制台中键入
clue
来运行编译器,它将解释其余部分
Clue支持在安装时启用的额外功能
默认情况下,Clue启用这两个功能。
使用Linux软件包
这些可以在最新版本中下载。
- .deb
sudo dpkg -i clue_<version>_<arch>.deb
- .rpm
sudo rpm -i clue-<version>.<arch>.rpm
使用AUR
- 通过paru
paru -S clue
- 通过yay
yay -S clue
- 通过makepkg
git clone https://aur.archlinux.org/clue.git
cd clue
makepkg -si
手动安装
- 下载最新版本并将其保存到某个位置
- 打开您的系统环境变量
- 将包含
clue.exe
的目录路径添加到PATH变量中 - 在您的cmd/PowerShell中输入
clue
来运行编译器,它会解释剩下的部分
更多即将到来!
我还在考虑添加一些功能,还有一些将在不久后添加。最有可能在未来添加的功能包括
- 类型系统(将在4.0版中推出)
- 更好的错误消息(将在4.0版中推出)
- 适当的语言服务器支持(将在4.0版中推出)
对于任何建议或错误,您可以在GitHub上创建一个issue。如果您需要关于语言本身的帮助,您可以查看Discord服务器。
希望Clue对您有所帮助 :)
为什么Clue叫Clue?
我不知道clue。
依赖关系
~4.5–6.5MB
~117K SLoC