4 个版本 (破坏性更新)
0.4.0 | 2024年1月25日 |
---|---|
0.3.0 | 2024年1月6日 |
0.2.0 | 2023年12月28日 |
0.1.0 | 2023年12月22日 |
#539 in #变量
每月下载量37次
180KB
4.5K SLoC
ShortLang
一种专为代码高尔夫设计的编程语言
ShortLang 文档
欢迎使用 ShortLang 的官方文档,这是一个快速简洁的解析式编程语言,专为代码高尔夫设计。ShortLang 使用 Rust 实现,性能比 Python 快 5 倍。
目录
基本数据类型
int
float
bool
array
nil
你好世界
要在标准输出中打印 "Hello World" 并换行,使用
$"Hello World"
如果您想不换行打印,使用
$$"Hello World"
ShortLang 在标准库中提供了用于相同目的的 print
和 println
函数。
为了可读性,我们在示例中使用了 print
和 println
。
运算符
运算符 | 描述 |
---|---|
+ |
加法 |
- |
减法 |
* |
乘法 |
/ |
除法 |
% |
取模 |
++ |
递增 |
-- |
递减 |
** |
指数 |
< |
小于 |
> |
大于 |
== |
等于 |
<= |
小于等于 |
>= |
大于等于 |
&& |
与 |
|| |
或 |
变量
变量可以不使用分号创建。例如
var_name = value
number = 42
$("The number is: " + number)
数组
以下代码显示了数组示例
fibonacci = [0, 1, 1, 2, 3, 5, 8, 13]
$("5th fibonacci number is " + fibonacci[5])
函数
内联函数
类似于 Python 中的 lambda 函数
add a b: a + b
println(add(10, 20)) // prints 30
多行函数
add a b: {
println("You are adding: " + a + " and " + b)
a + b
}
println(add(10, 20))
多行函数的最后一行是返回值。
如果您想将返回值放在函数末尾,可以显式使用 &
。
max a b: {
a > b ? &a : &b
$"this line won't be printed"
}
注释
注释从 //
开始。
条件语句
if-else 的三元运算符
a = 1
a == 1 ? println("The expression is true") : println("The expression is false")
块执行
true ? {
// code here will be executed
} : {
// if condition is false
}
else 块可以省略
a == 10 ? println("a is equal to 10")
循环
ShortLang 目前支持 while
循环
>. condition {
// code to be executed while the condition is true
}
i = 0
>. i < 10 {
$("Value of i is: " + i)
i ++
}
此代码打印
Value of i is: 0
Value of i is: 1
Value of i is: 2
Value of i is: 3
Value of i is: 4
Value of i is: 5
Value of i is: 6
Value of i is: 7
Value of i is: 8
Value of i is: 9
杂项
阶乘函数示例
factorial x: x < 2 ? 1 : x * factorial(x - 1)
$factorial(30)
打印
265252859812191058636308480000000
依赖项
~28MB
~595K SLoC