1 个不稳定版本
0.4.0 | 2024年1月27日 |
---|
#245 在 编程语言 中
175KB
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
~598K SLoC