Files
wa/README-zh.md
2023-08-12 07:53:30 +08:00

3.2 KiB
Raw Permalink Blame History

凹语言

主页 | Playground | 路线 | 社区 | 日志

凹语言凹读音“Wā”是 针对 WASM 平台设计的通用编程语言,同时支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。

说明: 除非特别声明,凹语言代码均以 AGPL-v3 开源协议授权, 具体可以参考 LICENSE 文件。

如何参与开发

项目尚处于原型开源阶段如果有共建和PR需求请参考 如何贡献代码。我们不再接受针对第三方依赖库修改的 PR。

特别注意向本仓库提交PR视同您认可并接受凹语言贡献者协议但在实际签署之前您的PR不会被评审或接受。

Playground 在线预览

https://wa-lang.org/playground

贪吃蛇游戏

例子: 凹语言

打印字符和调用函数:

import "fmt"

global year: i32 = 2023

func main {
	println("hello, Wa!")
	println(add(40, 2), year)

	fmt.Println(1+1)
}

func add(a: i32, b: i32) => i32 {
	return a+b
}

运行并输出结果:

$ wa run hello.wa 
你好,凹语言!
42 2023
2

例子: 打印素数

打印 30 以内的素数:

// 版权 @2021 凹语言™ 作者。保留所有权利。

func main {
	for n := 2; n <= 30; n = n + 1 {
		isPrime: int = 1
		for i := 2; i*i <= n; i = i + 1 {
			if x := n % i; x == 0 {
				isPrime = 0
			}
		}
		if isPrime != 0 {
			println(n)
		}
	}
}

运行并输出结果:

$ cd waroot && wa run examples/prime
2
3
5
7
11
13
17
19
23
29

例子:用中文语法打印素数

引于 "书"

【启】:
  // 打印30以内的素数
  从n=2到n>30有n++
    设素=1
    从i=2到i*i>n有i++
      设x=n%i
      若x==0则
        素=0
      。
    。
    若素!=0则
      书·曰n
    。
  。
。

运行的结果和英文语法的示例相同。

更多例子 waroot/examples

贡献者名单

贡献者 贡献点
柴树杉 35000
丁尔男 42500
史斌 29000
扈梦明 14000
赵普明 17000
宋汝阳 2000
刘云峰 1000
王湘南 1000
王泽龙 1000
吴烜 3000
刘斌 2500
尹贻浩 2000

贡献点变更记录见 waroot/cplog 目录。