文档/参考/标准库模块

标准库模块

NovaLang 标准库模块概览

标准库模块

NovaLang 提供以下标准库模块,通过 import 引入使用。

nova.io — 文件 I/O

import nova.io.*

// 读写文件
val content = readFile("config.json")
writeFile("output.txt", "Hello Nova!")
appendFile("log.txt", "new line\n")

// 文件信息
val exists = fileExists("data.txt")
val size = fileSize("data.txt")
val files = listDir("src/")

// 目录操作
mkdir("build/output")

nova.json — JSON

import nova.json.*

// 序列化
val json = Json.stringify(#{"name": "Nova", "version": "0.1"})

// 反序列化
val obj = Json.parse(json)
println(obj["name"])  // Nova

// 格式化输出
val pretty = Json.stringify(obj, indent = 2)

nova.http — HTTP 客户端

import nova.http.*

// GET 请求
val resp = Http.get("https://api.example.com/data")
println(resp.body)

// POST 请求
val resp = Http.post("https://api.example.com/users",
    body = Json.stringify(#{"name": "Nova"}),
    headers = #{"Content-Type": "application/json"}
)

// 带超时
val resp = Http.get("https://example.com", timeout = 5000)

nova.time — 时间日期

import nova.time.*

val now = Time.now()             // 当前时间戳 (ms)
val fmt = Time.format(now, "yyyy-MM-dd HH:mm:ss")
val parsed = Time.parse("2024-01-15", "yyyy-MM-dd")

// 休眠
sleep(1000)  // 1 秒

nova.text — 正则表达式

import nova.text.*

val regex = Regex("\\d+")
val matches = regex.findAll("abc123def456")  // ["123", "456"]
val replaced = regex.replace("abc123", "NUM") // "abcNUM"
println(regex.matches("12345"))  // true

nova.test — 测试框架

import nova.test.*

test("加法") {
    assert(1 + 1 == 2)
    assertEqual(add(2, 3), 5)
}

test("字符串") {
    assertNotNull("hello")
    assertTrue("hello".contains("ell"))
}

nova.system — 系统操作

import nova.system.*

val env = System.env("HOME")        // 环境变量
val prop = System.property("os.name") // 系统属性
val pid = System.pid()               // 进程 ID
System.exit(0)                       // 退出