datatype
目录
Lamina 基本类型
[1] int
说明:普通整数类型,支持正负整数的算术运算,无需显式声明类型。
示例:
var a = 42; // 正整数 var b = -10; // 负整数 var c = a + b; // c = 32(int类型)
[2] float
说明:浮点数类型,用于传统浮点运算场景,存在精度限制。
示例:
var pi_approx = 3.14; // 浮点数 var temp = -0.5; // 负浮点数
[3] rational
说明:精确有理数类型,自动以分数形式存储除法结果,避免精度丢失,支持自动化简。
示例:
var frac1 = 16/9; // 存储为16/9 var frac2 = 4/6; // 自动化简为2/3 var sum_frac = frac1 + frac2; // 精确计算,结果为34/9
[4] irrational
说明:精确无理数类型,以符号形式存储(如√、π、e),支持符号化运算与化简。
示例:
var root2 = sqrt(2); // 存储为√2 var root8 = sqrt(8); // 自动化简为2√2 var pi_val = pi(); // 存储为π var product = root2 * root2; // 结果为2(int类型)
[5] bool
说明:布尔类型,仅包含 true(真)和 false(假)两个值,用于条件判断。
示例:
var is_pass = true; var is_empty = false; if is_pass { print("考试通过"); }
[6] string
说明:字符串类型,用双引号包裹文本内容,支持字符串相关函数操作。
示例:
var greeting = "Hello, Lamina!"; var name = "Alice";
[7] null
说明:空值类型,仅表示 null 一个值,用于表示变量未赋值或无返回值。
示例:
var empty_var = null; func no_return() { print("无返回值"); return null; // 显式返回空值 }
[8] bigint
说明:任意精度大整数类型,需显式声明,支持超大整数(如阶乘、大数值运算)。
示例:
bigint large_num = 999999999999999; // 超大整数 bigint fact_30 = 30!; // 30的阶乘(大整数结果)
[9] array
说明:数组类型,用方括号包裹元素,支持索引访问和数组相关函数。
示例:
var scores = [90, 85, 92]; // 一维数组 var names = ["Tom", "Alice", "Bob"]; // 字符串数组
[10] matrix
说明:矩阵类型,用嵌套数组表示(二维数组),支持矩阵行列式、乘法等运算。
示例:
var mat2x2 = [[1, 2], [3, 4]]; // 2x2矩阵 var mat3x1 = [[1], [2], [3]]; // 3x1列矩阵
[11] struct
说明:结构体类型,用大括号包裹键值对,支持自定义成员和成员访问。
示例:
var person = { name = "Bob"; age = 20; is_student = true; };
[12] lambda
说明:匿名函数类型,用于表示未命名的函数,可赋值给变量或作为参数传递。
示例:
var subtract = do |a, b| { return a - b; }; // lambda类型变量
[13] module
说明:模块类型,通过 include 引入,包含模块内定义的函数、变量,支持 :: 命名空间访问。
示例:
include "math_utils"; // 引入模块,module类型 var result = math_utils::advanced_calc(10); // 访问模块函数
datatype.txt · 最后更改: 由 cgrakeski