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
