#编程语言 #编程高尔夫 #变量

已删除 short_lang

一种专为代码高尔夫设计的编程语言

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次

GPL-3.0-only

180KB
4.5K SLoC

ShortLang

一种专为代码高尔夫设计的编程语言

ShortLang 文档

欢迎使用 ShortLang 的官方文档,这是一个快速简洁的解析式编程语言,专为代码高尔夫设计。ShortLang 使用 Rust 实现,性能比 Python 快 5 倍。

目录

  1. 基本数据类型
  2. 你好世界
  3. 运算符
  4. 变量
  5. 数组
  6. 函数
  7. 注释
  8. 条件语句
  9. 循环

基本数据类型

  • int
  • float
  • bool
  • array
  • nil

你好世界

要在标准输出中打印 "Hello World" 并换行,使用

$"Hello World"

如果您想不换行打印,使用

$$"Hello World"

ShortLang 在标准库中提供了用于相同目的的 printprintln 函数。


为了可读性,我们在示例中使用了 printprintln

运算符

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 取模
++ 递增
-- 递减
** 指数
< 小于
> 大于
== 等于
<= 小于等于
>= 大于等于
&&
||

变量

变量可以不使用分号创建。例如

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