Oraset B-5: Clean repository with only C implementation
Build and Package Oraset / build (macos-latest) (push) Waiting to run
Build and Package Oraset / build (ubuntu-latest) (push) Waiting to run
Build and Package Oraset / build (windows-latest) (push) Waiting to run
Build and Package Oraset / release (push) Blocked by required conditions

This commit is contained in:
JGZ_YES
2026-07-23 13:27:04 +08:00
commit c30eb9b7ad
121 changed files with 33672 additions and 0 deletions
+85
View File
@@ -0,0 +1,85 @@
# Oraset 编程语言
## 什么是 Oraset
Oraset 是一种简单、强大、跨平台的编程语言,设计目标是提供一种易于学习和使用的编程工具。它具有以下特点:
- **简单易学**:语法简洁明了,适合初学者
- **跨平台**:支持 Windows 和 Linux 操作系统
- **强大功能**:支持变量、表达式、条件语句、循环、函数、类等核心功能
- **内置库**:提供数学、字符串、数组、工具等实用库
- **文件打包**:支持将代码打包为加密的 .osp 二进制文件
## 快速开始
### 安装 Oraset
1. 克隆或下载 Oraset 源码到本地
2. 确保你的系统已安装 Python 3.6 或更高版本
3. 进入 Oraset 目录,直接运行 `oraset.py` 文件
### 运行你的第一个程序
创建一个名为 `hello.oraset` 的文件,内容如下:
```oraset
show(`Hello, Oraset!`);
```
然后运行:
```bash
python oraset.py hello.oraset
```
你将看到输出:
```
Hello, Oraset!
```
## 核心特性
### 语法特点
- 使用反引号 `` ` `` 表示字符串
- 使用 `show` 代替 `print` 进行输出
- 使用 `@` 导入库
- 支持分号作为语句结束符
### 基本数据类型
- 数字(整数和浮点数)
- 字符串
- 数组
- 布尔值
### 控制结构
- 条件语句:`if``else``else if`
- 循环语句:`while`
### 函数和类
- 函数定义:`def function_name(params) { ... }`
- 类定义:`class ClassName { ... }`
### 内置库
- `@math` - 数学库
- `@string` - 字符串库
- `@array` - 数组库
- `@util` - 工具库
## 学习资源
- **快速开始**[快速开始教程](tutorial/quickstart.md)
- **基本语法**[基本语法教程](tutorial/basic-syntax.md)
- **控制结构**[控制结构教程](tutorial/control-structures.md)
- **函数和类**[函数和类教程](tutorial/functions-and-classes.md)
- **库参考**[库参考文档](libraries/math.md)
## 社区
- [GitHub 仓库](https://github.com/Oraset/oraset) - 源代码和贡献
- [论坛](https://bbs.ecuil.com) - 讨论和帮助
- [Issue 追踪](https://github.com/Oraset/oraset/issues) - 报告问题
## 许可证
Oraset 使用 GNU 通用公共许可证 v3.0。
+318
View File
@@ -0,0 +1,318 @@
# 数组库
## 简介
数组库(`@array`)提供了一系列数组操作函数,包括数组长度获取、元素添加、删除、查找、排序等功能。
## 导入方式
```oraset
@array;
```
## 函数参考
### 基本数组操作
#### array.length(arr)
获取数组长度。
**参数:**
- `arr` - 数组
**返回值:**
- 数组的长度
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result = array.length(fruits);
show(`Array length: `, result); !! 输出: 3
```
#### array.push(arr, item)
向数组末尾添加一个元素。
**参数:**
- `arr` - 数组
- `item` - 要添加的元素
**返回值:**
- 添加元素后的新数组
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`);
result = array.push(fruits, `cherry`);
show(`After push: `, result); !! 输出: ["apple", "banana", "cherry"]
```
#### array.pop(arr)
移除数组末尾的元素。
**参数:**
- `arr` - 数组
**返回值:**
- 移除元素后的新数组
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result = array.pop(fruits);
show(`After pop: `, result); !! 输出: ["apple", "banana"]
```
#### array.shift(arr)
移除数组开头的元素。
**参数:**
- `arr` - 数组
**返回值:**
- 移除元素后的新数组
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result = array.shift(fruits);
show(`After shift: `, result); !! 输出: ["banana", "cherry"]
```
#### array.unshift(arr, item)
向数组开头添加一个元素。
**参数:**
- `arr` - 数组
- `item` - 要添加的元素
**返回值:**
- 添加元素后的新数组
**示例:**
```oraset
@array;
fruits = arr(`banana`, `cherry`);
result = array.unshift(fruits, `apple`);
show(`After unshift: `, result); !! 输出: ["apple", "banana", "cherry"]
```
### 数组查找
#### array.indexOf(arr, item)
查找元素在数组中的位置。
**参数:**
- `arr` - 数组
- `item` - 要查找的元素
**返回值:**
- 元素的索引,未找到返回 -1
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result1 = array.indexOf(fruits, `banana`);
result2 = array.indexOf(fruits, `orange`);
show(`Index of 'banana': `, result1); !! 输出: 1
show(`Index of 'orange': `, result2); !! 输出: -1
```
#### array.lastIndexOf(arr, item)
从数组末尾开始查找元素的位置。
**参数:**
- `arr` - 数组
- `item` - 要查找的元素
**返回值:**
- 元素的索引,未找到返回 -1
**示例:**
```oraset
@array;
numbers = arr(1, 2, 3, 2, 1);
result = array.lastIndexOf(numbers, 2);
show(`Last index of 2: `, result); !! 输出: 3
```
#### array.includes(arr, item)
检查数组是否包含指定元素。
**参数:**
- `arr` - 数组
- `item` - 要检查的元素
**返回值:**
- 布尔值,表示数组是否包含指定元素
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result1 = array.includes(fruits, `banana`);
result2 = array.includes(fruits, `orange`);
show(`Includes 'banana': `, result1); !! 输出: true
show(`Includes 'orange': `, result2); !! 输出: false
```
### 数组转换
#### array.join(arr, sep)
将数组元素连接成一个字符串。
**参数:**
- `arr` - 数组
- `sep` - 分隔符
**返回值:**
- 连接后的字符串
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result = array.join(fruits, `, `);
show(`Joined: `, result); !! 输出: apple, banana, cherry
```
#### array.reverse(arr)
反转数组元素的顺序。
**参数:**
- `arr` - 数组
**返回值:**
- 反转后的新数组
**示例:**
```oraset
@array;
fruits = arr(`apple`, `banana`, `cherry`);
result = array.reverse(fruits);
show(`Reversed: `, result); !! 输出: ["cherry", "banana", "apple"]
```
#### array.sort(arr)
对数组元素进行排序。
**参数:**
- `arr` - 数组
**返回值:**
- 排序后的新数组
**示例:**
```oraset
@array;
numbers = arr(3, 1, 4, 1, 5, 9, 2, 6);
result = array.sort(numbers);
show(`Sorted: `, result); !! 输出: [1, 1, 2, 3, 4, 5, 6, 9]
fruits = arr(`cherry`, `apple`, `banana`);
result = array.sort(fruits);
show(`Sorted fruits: `, result); !! 输出: ["apple", "banana", "cherry"]
```
#### array.slice(arr, start, end)
提取数组的一部分。
**参数:**
- `arr` - 数组
- `start` - 起始索引(从0开始)
- `end` - 结束索引(不包含)
**返回值:**
- 提取的子数组
**示例:**
```oraset
@array;
numbers = arr(0, 1, 2, 3, 4, 5);
result1 = array.slice(numbers, 2, 4);
result2 = array.slice(numbers, 1);
show(`Slice (2-4): `, result1); !! 输出: [2, 3]
show(`Slice (1+): `, result2); !! 输出: [1, 2, 3, 4, 5]
```
## 示例代码
```oraset
@array;
!! 创建数组
fruits = arr(`apple`, `banana`, `cherry`);
show(`Original array: `, fruits);
!! 基本操作
show(`Length: `, array.length(fruits));
show(`After push: `, array.push(fruits, `orange`));
show(`After pop: `, array.pop(fruits));
show(`After unshift: `, array.unshift(fruits, `grape`));
show(`After shift: `, array.shift(fruits));
!! 查找操作
show(`Index of 'banana': `, array.indexOf(fruits, `banana`));
show(`Last index of 'banana': `, array.lastIndexOf(fruits, `banana`));
show(`Includes 'cherry': `, array.includes(fruits, `cherry`));
!! 转换操作
show(`Joined: `, array.join(fruits, ` | `));
show(`Reversed: `, array.reverse(fruits));
!! 排序操作
numbers = arr(5, 2, 8, 1, 9);
show(`Original numbers: `, numbers);
show(`Sorted numbers: `, array.sort(numbers));
!! 切片操作
show(`Slice (1-3): `, array.slice(numbers, 1, 3));
```
## 注意事项
- 所有数组操作函数都返回一个新的数组,不会修改原始数组
- 数组索引从0开始
- 数组元素可以是不同类型的值
- 对于大型数组,某些操作(如排序)可能会影响性能
+454
View File
@@ -0,0 +1,454 @@
# 数学库
## 简介
数学库(`@math`)提供了一系列数学运算函数,包括基本运算、三角函数、随机数生成等。
## 导入方式
```oraset
@math;
```
## 函数参考
### 基本数学函数
#### math.abs(x)
计算绝对值。
**参数:**
- `x` - 数字
**返回值:**
- 数字的绝对值
**示例:**
```oraset
@math;
show(`abs(-123) = `, math.abs(-123)); !! 输出: 123
```
#### math.sqrt(x)
计算平方根。
**参数:**
- `x` - 非负数
**返回值:**
- 平方根值
**示例:**
```oraset
@math;
show(`sqrt(16) = `, math.sqrt(16)); !! 输出: 4
```
#### math.pow(x, y)
计算 x 的 y 次方。
**参数:**
- `x` - 底数
- `y` - 指数
**返回值:**
- x 的 y 次方
**示例:**
```oraset
@math;
show(`pow(2, 3) = `, math.pow(2, 3)); !! 输出: 8
```
#### math.exp(x)
计算 e 的 x 次方。
**参数:**
- `x` - 指数
**返回值:**
- e 的 x 次方
**示例:**
```oraset
@math;
show(`exp(1) = `, math.exp(1)); !! 输出: 2.718281828459045
```
#### math.log(x)
计算自然对数。
**参数:**
- `x` - 正数
**返回值:**
- 自然对数值
**示例:**
```oraset
@math;
show(`log(e) = `, math.log(math.exp(1))); !! 输出: 1
```
#### math.log10(x)
计算以 10 为底的对数。
**参数:**
- `x` - 正数
**返回值:**
- 以 10 为底的对数值
**示例:**
```oraset
@math;
show(`log10(100) = `, math.log10(100)); !! 输出: 2
```
### 三角函数
#### math.sin(x)
计算正弦值(角度)。
**参数:**
- `x` - 角度
**返回值:**
- 正弦值
**示例:**
```oraset
@math;
show(`sin(90) = `, math.sin(90)); !! 输出: 1
```
#### math.cos(x)
计算余弦值(角度)。
**参数:**
- `x` - 角度
**返回值:**
- 余弦值
**示例:**
```oraset
@math;
show(`cos(0) = `, math.cos(0)); !! 输出: 1
```
#### math.tan(x)
计算正切值(角度)。
**参数:**
- `x` - 角度
**返回值:**
- 正切值
**示例:**
```oraset
@math;
show(`tan(45) = `, math.tan(45)); !! 输出: 1
```
#### math.asin(x)
计算反正弦值(返回角度)。
**参数:**
- `x` - 值(-1 到 1 之间)
**返回值:**
- 反正弦角度
**示例:**
```oraset
@math;
show(`asin(1) = `, math.asin(1)); !! 输出: 90
```
#### math.acos(x)
计算反余弦值(返回角度)。
**参数:**
- `x` - 值(-1 到 1 之间)
**返回值:**
- 反余弦角度
**示例:**
```oraset
@math;
show(`acos(1) = `, math.acos(1)); !! 输出: 0
```
#### math.atan(x)
计算反正切值(返回角度)。
**参数:**
- `x` - 值
**返回值:**
- 反正切角度
**示例:**
```oraset
@math;
show(`atan(1) = `, math.atan(1)); !! 输出: 45
```
### 数学常数
#### math.pi()
返回圆周率 π。
**参数:**
-
**返回值:**
- 圆周率 π 值
**示例:**
```oraset
@math;
show(`π = `, math.pi()); !! 输出: 3.141592653589793
```
#### math.e()
返回自然对数的底 e。
**参数:**
-
**返回值:**
- 自然对数的底 e 值
**示例:**
```oraset
@math;
show(`e = `, math.e()); !! 输出: 2.718281828459045
```
### 取整函数
#### math.floor(x)
向下取整。
**参数:**
- `x` - 数字
**返回值:**
- 向下取整后的整数
**示例:**
```oraset
@math;
show(`floor(3.9) = `, math.floor(3.9)); !! 输出: 3
show(`floor(-3.1) = `, math.floor(-3.1)); !! 输出: -4
```
#### math.ceil(x)
向上取整。
**参数:**
- `x` - 数字
**返回值:**
- 向上取整后的整数
**示例:**
```oraset
@math;
show(`ceil(3.1) = `, math.ceil(3.1)); !! 输出: 4
show(`ceil(-3.9) = `, math.ceil(-3.9)); !! 输出: -3
```
#### math.round(x)
四舍五入。
**参数:**
- `x` - 数字
**返回值:**
- 四舍五入后的整数
**示例:**
```oraset
@math;
show(`round(3.1) = `, math.round(3.1)); !! 输出: 3
show(`round(3.6) = `, math.round(3.6)); !! 输出: 4
```
### 最值函数
#### math.max(...args)
返回多个数字中的最大值。
**参数:**
- `...args` - 多个数字
**返回值:**
- 最大值
**示例:**
```oraset
@math;
show(`max(10, 5, 20) = `, math.max(10, 5, 20)); !! 输出: 20
```
#### math.min(...args)
返回多个数字中的最小值。
**参数:**
- `...args` - 多个数字
**返回值:**
- 最小值
**示例:**
```oraset
@math;
show(`min(10, 5, 20) = `, math.min(10, 5, 20)); !! 输出: 5
```
### 随机数
#### math.random()
生成 0 到 1 之间的随机小数。
**参数:**
-
**返回值:**
- 0 到 1 之间的随机小数
**示例:**
```oraset
@math;
show(`random() = `, math.random()); !! 输出: 0.123456789
```
#### math.randint(a, b)
生成指定范围内的随机整数。
**参数:**
- `a` - 最小值
- `b` - 最大值
**返回值:**
- 范围内的随机整数
**示例:**
```oraset
@math;
show(`randint(1, 100) = `, math.randint(1, 100)); !! 输出: 42
```
## 示例代码
```oraset
@math;
!! 基本运算
show(`abs(-123) = `, math.abs(-123));
show(`sqrt(16) = `, math.sqrt(16));
show(`pow(2, 3) = `, math.pow(2, 3));
show(`exp(1) = `, math.exp(1));
show(`log(e) = `, math.log(math.exp(1)));
show(`log10(100) = `, math.log10(100));
!! 三角函数
show(`sin(90) = `, math.sin(90));
show(`cos(0) = `, math.cos(0));
show(`tan(45) = `, math.tan(45));
show(`asin(1) = `, math.asin(1));
show(`acos(1) = `, math.acos(1));
show(`atan(1) = `, math.atan(1));
!! 数学常数
show(`π = `, math.pi());
show(`e = `, math.e());
!! 取整函数
show(`floor(3.9) = `, math.floor(3.9));
show(`ceil(3.1) = `, math.ceil(3.1));
show(`round(3.6) = `, math.round(3.6));
!! 最值
show(`max(10, 5, 20) = `, math.max(10, 5, 20));
show(`min(10, 5, 20) = `, math.min(10, 5, 20));
!! 随机数
show(`random() = `, math.random());
show(`randint(1, 100) = `, math.randint(1, 100));
```
## 注意事项
- 三角函数使用角度作为参数,而非弧度
- 对于 `sqrt``log` 等函数,参数必须满足数学要求
- 随机数生成函数使用系统的随机数生成器
- 所有函数都返回数字类型的值
+519
View File
@@ -0,0 +1,519 @@
# 字符串库
## 简介
字符串库(`@string`)提供了一系列字符串操作函数,包括字符串分割、大小写转换、查找替换等功能。
## 导入方式
```oraset
@string;
```
## 函数参考
### 字符串分割与连接
#### string.split(s, sep)
分割字符串。
**参数:**
- `s` - 字符串
- `sep` - 分隔符
**返回值:**
- 分割后的数组
**示例:**
```oraset
@string;
text = `Hello,World,Oraset`;
result = string.split(text, `,`);
show(`Split result: `, result); !! 输出: ["Hello", "World", "Oraset"]
```
#### string.join(arr, sep)
连接数组元素为字符串。
**参数:**
- `arr` - 数组
- `sep` - 分隔符
**返回值:**
- 连接后的字符串
**示例:**
```oraset
@string;
arr = arr(`Hello`, `World`, `Oraset`);
result = string.join(arr, ` `);
show(`Joined result: `, result); !! 输出: Hello World Oraset
```
### 大小写转换
#### string.upper(s)
转换为大写。
**参数:**
- `s` - 字符串
**返回值:**
- 大写字符串
**示例:**
```oraset
@string;
text = `hello world`;
result = string.upper(text);
show(`Upper case: `, result); !! 输出: HELLO WORLD
```
#### string.lower(s)
转换为小写。
**参数:**
- `s` - 字符串
**返回值:**
- 小写字符串
**示例:**
```oraset
@string;
text = `HELLO WORLD`;
result = string.lower(text);
show(`Lower case: `, result); !! 输出: hello world
```
#### string.capitalize(s)
首字母大写。
**参数:**
- `s` - 字符串
**返回值:**
- 首字母大写的字符串
**示例:**
```oraset
@string;
text = `hello world`;
result = string.capitalize(text);
show(`Capitalized: `, result); !! 输出: Hello world
```
### 字符串长度与提取
#### string.length(s)
获取字符串长度。
**参数:**
- `s` - 字符串
**返回值:**
- 字符串长度
**示例:**
```oraset
@string;
text = `Hello, Oraset!`;
result = string.length(text);
show(`Length: `, result); !! 输出: 13
```
#### string.substring(s, start, end)
提取子字符串。
**参数:**
- `s` - 字符串
- `start` - 起始索引
- `end` - 结束索引(可选)
**返回值:**
- 提取的子字符串
**示例:**
```oraset
@string;
text = `Hello, Oraset!`;
result1 = string.substring(text, 7);
result2 = string.substring(text, 0, 5);
show(`Substring from 7: `, result1); !! 输出: Oraset!
show(`Substring from 0 to 5: `, result2); !! 输出: Hello
```
#### string.charAt(s, index)
获取指定位置的字符。
**参数:**
- `s` - 字符串
- `index` - 索引
**返回值:**
- 指定位置的字符
**示例:**
```oraset
@string;
text = `Hello`;
result = string.charAt(text, 0);
show(`First character: `, result); !! 输出: H
```
### 字符串查找
#### string.indexOf(s, substr)
查找子字符串的位置。
**参数:**
- `s` - 字符串
- `substr` - 子字符串
**返回值:**
- 子字符串的起始位置,未找到返回 -1
**示例:**
```oraset
@string;
text = `Hello, Oraset!`;
result1 = string.indexOf(text, `Oraset`);
result2 = string.indexOf(text, `World`);
show(`Index of 'Oraset': `, result1); !! 输出: 7
show(`Index of 'World': `, result2); !! 输出: -1
```
#### string.lastIndexOf(s, substr)
从末尾开始查找子字符串的位置。
**参数:**
- `s` - 字符串
- `substr` - 子字符串
**返回值:**
- 子字符串的起始位置,未找到返回 -1
**示例:**
```oraset
@string;
text = `Hello, Oraset, Oraset!`;
result = string.lastIndexOf(text, `Oraset`);
show(`Last index of 'Oraset': `, result); !! 输出: 14
```
#### string.includes(s, substr)
检查字符串是否包含子字符串。
**参数:**
- `s` - 字符串
- `substr` - 子字符串
**返回值:**
- 布尔值,表示是否包含子字符串
**示例:**
```oraset
@string;
text = `Hello, Oraset!`;
result1 = string.includes(text, `Oraset`);
result2 = string.includes(text, `World`);
show(`Includes 'Oraset': `, result1); !! 输出: true
show(`Includes 'World': `, result2); !! 输出: false
```
### 字符串替换
#### string.replace(s, old, new)
替换子字符串。
**参数:**
- `s` - 字符串
- `old` - 要替换的子字符串
- `new` - 替换后的子字符串
**返回值:**
- 替换后的字符串
**示例:**
```oraset
@string;
text = `Hello, World!`;
result = string.replace(text, `World`, `Oraset`);
show(`Replaced: `, result); !! 输出: Hello, Oraset!
```
#### string.replaceAll(s, old, new)
替换所有匹配的子字符串。
**参数:**
- `s` - 字符串
- `old` - 要替换的子字符串
- `new` - 替换后的子字符串
**返回值:**
- 替换后的字符串
**示例:**
```oraset
@string;
text = `Hello, World! Hello, World!`;
result = string.replaceAll(text, `World`, `Oraset`);
show(`Replaced all: `, result); !! 输出: Hello, Oraset! Hello, Oraset!
```
### 字符串修剪
#### string.trim(s)
移除字符串两端的空白字符。
**参数:**
- `s` - 字符串
**返回值:**
- 修剪后的字符串
**示例:**
```oraset
@string;
text = ` Hello, Oraset! `;
result = string.trim(text);
show(`Trimmed: `, result); !! 输出: Hello, Oraset!
```
#### string.trimStart(s)
移除字符串开头的空白字符。
**参数:**
- `s` - 字符串
**返回值:**
- 修剪后的字符串
**示例:**
```oraset
@string;
text = ` Hello, Oraset!`;
result = string.trimStart(text);
show(`Trimmed start: `, result); !! 输出: Hello, Oraset!
```
#### string.trimEnd(s)
移除字符串末尾的空白字符。
**参数:**
- `s` - 字符串
**返回值:**
- 修剪后的字符串
**示例:**
```oraset
@string;
text = `Hello, Oraset! `;
result = string.trimEnd(text);
show(`Trimmed end: `, result); !! 输出: Hello, Oraset!
```
### 字符串检查
#### string.startsWith(s, prefix)
检查字符串是否以指定前缀开头。
**参数:**
- `s` - 字符串
- `prefix` - 前缀
**返回值:**
- 布尔值,表示是否以指定前缀开头
**示例:**
```oraset
@string;
text = `Hello, Oraset!`;
result1 = string.startsWith(text, `Hello`);
result2 = string.startsWith(text, `World`);
show(`Starts with 'Hello': `, result1); !! 输出: true
show(`Starts with 'World': `, result2); !! 输出: false
```
#### string.endsWith(s, suffix)
检查字符串是否以指定后缀结尾。
**参数:**
- `s` - 字符串
- `suffix` - 后缀
**返回值:**
- 布尔值,表示是否以指定后缀结尾
**示例:**
```oraset
@string;
text = `Hello, Oraset!`;
result1 = string.endsWith(text, `!`);
result2 = string.endsWith(text, `.`);
show(`Ends with '!': `, result1); !! 输出: true
show(`Ends with '.': `, result2); !! 输出: false
```
### 字符串重复
#### string.repeat(s, count)
重复字符串指定次数。
**参数:**
- `s` - 字符串
- `count` - 重复次数
**返回值:**
- 重复后的字符串
**示例:**
```oraset
@string;
text = `Hello `;
result = string.repeat(text, 3);
show(`Repeated: `, result); !! 输出: Hello Hello Hello
```
### 字符串反转
#### string.reverse(s)
反转字符串。
**参数:**
- `s` - 字符串
**返回值:**
- 反转后的字符串
**示例:**
```oraset
@string;
text = `Hello`;
result = string.reverse(text);
show(`Reversed: `, result); !! 输出: olleH
```
## 示例代码
```oraset
@string;
!! 字符串分割与连接
text = `Hello,World,Oraset`;
show(`Original: `, text);
show(`Split: `, string.split(text, `,`));
arr = arr(`Hello`, `World`, `Oraset`);
show(`Joined: `, string.join(arr, ` `));
!! 大小写转换
text = `Hello, Oraset!`;
show(`Original: `, text);
show(`Upper: `, string.upper(text));
show(`Lower: `, string.lower(text));
show(`Capitalized: `, string.capitalize(text));
!! 字符串长度与提取
text = `Hello, Oraset!`;
show(`Length: `, string.length(text));
show(`Substring from 7: `, string.substring(text, 7));
show(`Substring 0-5: `, string.substring(text, 0, 5));
show(`Character at 0: `, string.charAt(text, 0));
!! 字符串查找
text = `Hello, Oraset!`;
show(`Index of 'Oraset': `, string.indexOf(text, `Oraset`));
show(`Includes 'Oraset': `, string.includes(text, `Oraset`));
!! 字符串替换
text = `Hello, World!`;
show(`Original: `, text);
show(`Replaced: `, string.replace(text, `World`, `Oraset`));
!! 字符串修剪
text = ` Hello, Oraset! `;
show(`Original: '`, text, `'`);
show(`Trimmed: '`, string.trim(text), `'`);
show(`Trimmed start: '`, string.trimStart(text), `'`);
show(`Trimmed end: '`, string.trimEnd(text), `'`);
!! 字符串检查
text = `Hello, Oraset!`;
show(`Starts with 'Hello': `, string.startsWith(text, `Hello`));
show(`Ends with '!': `, string.endsWith(text, `!`));
!! 字符串重复和反转
text = `Hello`;
show(`Original: `, text);
show(`Repeated: `, string.repeat(text, 3));
show(`Reversed: `, string.reverse(text));
```
## 注意事项
- 字符串索引从 0 开始
- 所有字符串操作函数都返回新的字符串,不会修改原始字符串
- 对于 `substring` 函数,如果不指定 `end` 参数,将提取到字符串末尾
- 对于 `split` 函数,如果分隔符为空字符串,将分割每个字符
+348
View File
@@ -0,0 +1,348 @@
# 工具库
## 简介
工具库(`@util`)提供了一系列实用的工具函数,包括随机数生成、数学计算、类型检查等功能。
## 导入方式
```oraset
@util;
```
## 函数参考
### 随机数生成
#### util.random()
生成一个0到1之间的随机小数。
**参数:**
-
**返回值:**
- 0到1之间的随机小数
**示例:**
```oraset
@util;
result = util.random();
show(`Random number: `, result); !! 输出: 0.123456789
```
#### util.randint(a, b)
生成一个指定范围内的随机整数。
**参数:**
- `a` - 最小值
- `b` - 最大值
**返回值:**
- 范围内的随机整数
**示例:**
```oraset
@util;
result = util.randint(1, 100);
show(`Random integer: `, result); !! 输出: 42
```
### 数学计算
#### util.round(x, n)
对数字进行四舍五入。
**参数:**
- `x` - 要四舍五入的数字
- `n` - 小数位数(默认为0
**返回值:**
- 四舍五入后的数字
**示例:**
```oraset
@util;
result1 = util.round(3.14159);
result2 = util.round(3.14159, 2);
show(`Rounded: `, result1); !! 输出: 3
show(`Rounded to 2 decimals: `, result2); !! 输出: 3.14
```
#### util.abs(x)
计算数字的绝对值。
**参数:**
- `x` - 数字
**返回值:**
- 数字的绝对值
**示例:**
```oraset
@util;
result = util.abs(-123);
show(`Absolute value: `, result); !! 输出: 123
```
#### util.min(...args)
返回多个数字中的最小值。
**参数:**
- `...args` - 多个数字
**返回值:**
- 最小值
**示例:**
```oraset
@util;
result = util.min(10, 5, 20, 3);
show(`Minimum: `, result); !! 输出: 3
```
#### util.max(...args)
返回多个数字中的最大值。
**参数:**
- `...args` - 多个数字
**返回值:**
- 最大值
**示例:**
```oraset
@util;
result = util.max(10, 5, 20, 3);
show(`Maximum: `, result); !! 输出: 20
```
#### util.sum(...args)
计算多个数字的和。
**参数:**
- `...args` - 多个数字
**返回值:**
- 数字的和
**示例:**
```oraset
@util;
result = util.sum(1, 2, 3, 4, 5);
show(`Sum: `, result); !! 输出: 15
```
#### util.average(...args)
计算多个数字的平均值。
**参数:**
- `...args` - 多个数字
**返回值:**
- 数字的平均值
**示例:**
```oraset
@util;
result = util.average(1, 2, 3, 4, 5);
show(`Average: `, result); !! 输出: 3
```
### 类型检查
#### util.isNumber(x)
检查值是否为数字。
**参数:**
- `x` - 要检查的值
**返回值:**
- 布尔值,表示是否为数字
**示例:**
```oraset
@util;
result1 = util.isNumber(123);
result2 = util.isNumber(`123`);
result3 = util.isNumber(`abc`);
show(`Is 123 a number: `, result1); !! 输出: true
show(`Is '123' a number: `, result2); !! 输出: true
show(`Is 'abc' a number: `, result3); !! 输出: false
```
#### util.isString(x)
检查值是否为字符串。
**参数:**
- `x` - 要检查的值
**返回值:**
- 布尔值,表示是否为字符串
**示例:**
```oraset
@util;
result1 = util.isString(`Hello`);
result2 = util.isString(123);
show(`Is 'Hello' a string: `, result1); !! 输出: true
show(`Is 123 a string: `, result2); !! 输出: false
```
#### util.isArray(x)
检查值是否为数组。
**参数:**
- `x` - 要检查的值
**返回值:**
- 布尔值,表示是否为数组
**示例:**
```oraset
@util;
result1 = util.isArray(arr(1, 2, 3));
result2 = util.isArray(`[1, 2, 3]`);
result3 = util.isArray(123);
show(`Is arr(1, 2, 3) an array: `, result1); !! 输出: true
show(`Is '[1, 2, 3]' an array: `, result2); !! 输出: true
show(`Is 123 an array: `, result3); !! 输出: false
```
### 类型转换
#### util.toNumber(x)
将值转换为数字。
**参数:**
- `x` - 要转换的值
**返回值:**
- 转换后的数字
**示例:**
```oraset
@util;
result = util.toNumber(`123`);
show(`Converted to number: `, result); !! 输出: 123
```
#### util.toString(x)
将值转换为字符串。
**参数:**
- `x` - 要转换的值
**返回值:**
- 转换后的字符串
**示例:**
```oraset
@util;
result = util.toString(123);
show(`Converted to string: `, result); !! 输出: 123
```
#### util.typeof(x)
获取值的类型。
**参数:**
- `x` - 要检查的值
**返回值:**
- 值的类型('array'、'number'、'string' 或 'unknown'
**示例:**
```oraset
@util;
result1 = util.typeof(123);
result2 = util.typeof(`Hello`);
result3 = util.typeof(arr(1, 2, 3));
show(`Type of 123: `, result1); !! 输出: number
show(`Type of 'Hello': `, result2); !! 输出: string
show(`Type of arr(1, 2, 3): `, result3); !! 输出: array
```
## 示例代码
```oraset
@util;
!! 随机数生成
show(`Random number: `, util.random());
show(`Random integer (1-100): `, util.randint(1, 100));
!! 数学计算
show(`Absolute value of -123: `, util.abs(-123));
show(`Round 3.14159: `, util.round(3.14159));
show(`Round 3.14159 to 2 decimals: `, util.round(3.14159, 2));
show(`Minimum of 10, 5, 20, 3: `, util.min(10, 5, 20, 3));
show(`Maximum of 10, 5, 20, 3: `, util.max(10, 5, 20, 3));
show(`Sum of 1, 2, 3, 4, 5: `, util.sum(1, 2, 3, 4, 5));
show(`Average of 1, 2, 3, 4, 5: `, util.average(1, 2, 3, 4, 5));
!! 类型检查
show(`Is 123 a number: `, util.isNumber(123));
show(`Is '123' a number: `, util.isNumber(`123`));
show(`Is 'abc' a number: `, util.isNumber(`abc`));
show(`Is 'Hello' a string: `, util.isString(`Hello`));
show(`Is 123 a string: `, util.isString(123));
show(`Is arr(1, 2, 3) an array: `, util.isArray(arr(1, 2, 3)));
!! 类型转换
show(`Convert '123' to number: `, util.toNumber(`123`));
show(`Convert 123 to string: `, util.toString(123));
!! 类型判断
show(`Type of 123: `, util.typeof(123));
show(`Type of 'Hello': `, util.typeof(`Hello`));
show(`Type of arr(1, 2, 3): `, util.typeof(arr(1, 2, 3)));
```
## 注意事项
- 所有工具函数都不会修改原始值,而是返回新的值
- 类型检查函数会尝试进行合理的类型判断
- 对于 `isNumber` 函数,字符串形式的数字也会被认为是数字
- 对于 `isArray` 函数,字符串形式的数组表示也会被认为是数组
+331
View File
@@ -0,0 +1,331 @@
# 基本语法
本教程将详细介绍 Oraset 编程语言的基本语法,包括变量、数据类型、运算符、表达式等内容。
## 注释
Oraset 使用两种注释方式:
- **单行注释**:使用 `!!` 开始
- **多行注释**:使用 `!*` 开始,`*!` 结束
```oraset
!! 这是一个单行注释
!* 这是一个
多行注释 *!
```
## 变量
### 变量声明与赋值
Oraset 使用 `=` 进行变量赋值,不需要显式声明变量类型:
```oraset
!! 变量赋值
name = `World`; !! 字符串
age = 20; !! 整数
pi = 3.14159; !! 浮点数
is_valid = true; !! 布尔值
```
### 变量命名规则
- 变量名只能包含字母、数字和下划线
- 变量名不能以数字开头
- 变量名区分大小写
- 变量名不能使用关键字(如 `if``else``while``def``class` 等)
### 变量作用域
- **全局变量**:在函数外部定义的变量
- **局部变量**:在函数内部定义的变量
```oraset
!! 全局变量
global_var = `Global`;
def test() {
!! 局部变量
local_var = `Local`;
show(global_var); !! 可以访问全局变量
show(local_var); !! 可以访问局部变量
}
test();
show(global_var); !! 可以访问全局变量
!! show(local_var); !! 错误:无法访问局部变量
```
## 数据类型
### 数字
Oraset 支持整数和浮点数:
```oraset
!! 整数
integer = 123;
negative = -456;
!! 浮点数
float = 3.14;
scientific = 1.23e4; !! 12300
```
### 字符串
Oraset 使用反引号 `` ` `` 表示字符串:
```oraset
!! 字符串
str1 = `Hello`;
str2 = `World`;
!! 字符串拼接
combined = str1 + ` ` + str2;
show(combined); !! 输出: Hello World
```
### 数组
Oraset 使用 `arr()` 函数创建数组:
```oraset
!! 数组
empty = arr();
numbers = arr(1, 2, 3, 4, 5);
fruits = arr(`apple`, `banana`, `cherry`);
mixed = arr(1, `hello`, 3.14);
!! 访问数组元素
show(numbers[0]); !! 输出: 1
show(fruits[1]); !! 输出: banana
```
### 布尔值
Oraset 支持布尔值 `true` 和 `false`
```oraset
!! 布尔值
true_value = true;
false_value = false;
!! 布尔表达式
is_greater = 5 > 3; !! true
is_equal = 5 == 3; !! false
```
## 运算符
### 算术运算符
| 运算符 | 描述 | 示例 |
|-------|------|------|
| `+` | 加法 | `a + b` |
| `-` | 减法 | `a - b` |
| `*` | 乘法 | `a * b` |
| `/` | 除法 | `a / b` |
| `%` | 取模 | `a % b` |
| `**` | 幂运算 | `a ** b` |
```oraset
!! 算术运算符
a = 10;
b = 3;
show(`a + b = `, a + b); !! 13
show(`a - b = `, a - b); !! 7
show(`a * b = `, a * b); !! 30
show(`a / b = `, a / b); !! 3.3333333333333335
show(`a % b = `, a % b); !! 1
show(`a ** b = `, a ** b); !! 1000
```
### 比较运算符
| 运算符 | 描述 | 示例 |
|-------|------|------|
| `==` | 等于 | `a == b` |
| `!=` | 不等于 | `a != b` |
| `<` | 小于 | `a < b` |
| `>` | 大于 | `a > b` |
| `<=` | 小于等于 | `a <= b` |
| `>=` | 大于等于 | `a >= b` |
```oraset
!! 比较运算符
a = 5;
b = 10;
show(`a == b: `, a == b); !! false
show(`a != b: `, a != b); !! true
show(`a < b: `, a < b); !! true
show(`a > b: `, a > b); !! false
show(`a <= b: `, a <= b); !! true
show(`a >= b: `, a >= b); !! false
```
### 逻辑运算符
| 运算符 | 描述 | 示例 |
|-------|------|------|
| `&&` | 逻辑与 | `a && b` |
| `||` | 逻辑或 | `a || b` |
| `!` | 逻辑非 | `!a` |
```oraset
!! 逻辑运算符
t = true;
f = false;
show(`t && f: `, t && f); !! false
show(`t || f: `, t || f); !! true
show(`!t: `, !t); !! false
show(`!f: `, !f); !! true
```
### 赋值运算符
| 运算符 | 描述 | 示例 |
|-------|------|------|
| `=` | 简单赋值 | `a = b` |
| `+=` | 加赋值 | `a += b` |
| `-=` | 减赋值 | `a -= b` |
| `*=` | 乘赋值 | `a *= b` |
| `/=` | 除赋值 | `a /= b` |
| `%=` | 取模赋值 | `a %= b` |
```oraset
!! 赋值运算符
a = 10;
show(`Initial a: `, a); !! 10
a += 5;
show(`a += 5: `, a); !! 15
a -= 3;
show(`a -= 3: `, a); !! 12
a *= 2;
show(`a *= 2: `, a); !! 24
a /= 4;
show(`a /= 4: `, a); !! 6
a %= 5;
show(`a %= 5: `, a); !! 1
```
## 表达式
表达式是由变量、常量、运算符和函数调用组成的组合,用于计算值:
```oraset
!! 表达式
result = (10 + 5) * 2 / 3;
show(`Result: `, result); !! 10.0
!! 复杂表达式
a = 10;
b = 5;
c = 3;
result = (a + b) * c - (a / b);
show(`Result: `, result); !! 45.0
```
## 输入输出
### 输出
使用 `show` 函数输出内容:
```oraset
!! 输出
show(`Hello, World!`);
show(`The answer is: `, 42);
show(`Pi is approximately: `, 3.14159);
```
### 输入
使用 `input` 函数获取用户输入:
```oraset
!! 输入
name = input(`What's your name? `);
age = input(`How old are you? `);
show(`Hello, `, name, `! You are `, age, ` years old.`);
```
## 转义字符
Oraset 支持以下转义字符:
| 转义字符 | 描述 |
|---------|------|
| `\n` | 换行 |
| `\t` | 制表符 |
| `\r` | 回车 |
| `\` | 反斜杠 |
| `` \` `` | 反引号 |
```oraset
!! 转义字符
show(`Line 1\nLine 2`);
show(`Name:\tJohn`);
show(`Path: C:\\folder\\file.txt`);
show(`He said: \`Hello!\``);
```
## 示例代码
```oraset
!! 基本语法示例
!! 变量赋值
name = `Oraset`;
age = 20;
pi = 3.14159;
!! 算术运算
radius = 5;
area = pi * radius ** 2;
show(`Area of circle: `, area);
!! 字符串操作
greeting = `Hello, ` + name + `!`;
show(greeting);
!! 数组操作
numbers = arr(1, 2, 3, 4, 5);
sum = 0;
i = 0;
while (i < 5) {
sum = sum + numbers[i];
i = i + 1;
}
show(`Sum of numbers: `, sum);
!! 输入输出
user_name = input(`What's your name? `);
show(`Nice to meet you, `, user_name, `!`);
```
## 小结
本教程介绍了 Oraset 编程语言的基本语法,包括:
- 注释的使用
- 变量的声明和赋值
- 数据类型(数字、字符串、数组、布尔值)
- 各种运算符(算术、比较、逻辑、赋值)
- 表达式的使用
- 输入输出操作
- 转义字符
这些是 Oraset 编程的基础,掌握这些内容后,你可以开始编写更复杂的程序。
+254
View File
@@ -0,0 +1,254 @@
# 控制结构
本教程将详细介绍 Oraset 编程语言的控制结构,包括条件语句和循环语句,帮助你掌握程序的流程控制。
## 条件语句
### if 语句
`if` 语句用于根据条件执行不同的代码块:
```oraset
!! if 语句
age = 18;
if (age >= 18) {
show(`You are an adult.`);
}
```
### if-else 语句
`if-else` 语句用于在条件为真和为假时执行不同的代码块:
```oraset
!! if-else 语句
age = 16;
if (age >= 18) {
show(`You are an adult.`);
} else {
show(`You are a minor.`);
}
```
### if-else if-else 语句
`if-else if-else` 语句用于处理多个条件:
```oraset
!! if-else if-else 语句
score = 85;
if (score >= 90) {
show(`Grade: A`);
} else if (score >= 80) {
show(`Grade: B`);
} else if (score >= 70) {
show(`Grade: C`);
} else if (score >= 60) {
show(`Grade: D`);
} else {
show(`Grade: F`);
}
```
### 嵌套条件语句
条件语句可以嵌套使用:
```oraset
!! 嵌套条件语句
age = 20;
has_license = true;
if (age >= 18) {
if (has_license) {
show(`You can drive.`);
} else {
show(`You need a driver's license to drive.`);
}
} else {
show(`You are too young to drive.`);
}
```
## 循环语句
### while 循环
`while` 循环用于重复执行代码块,直到条件为假:
```oraset
!! while 循环
count = 0;
while (count < 5) {
show(`Count: `, count);
count = count + 1;
}
```
### 无限循环
你可以创建无限循环,但需要注意在适当的时候使用 `break` 语句退出循环:
```oraset
!! 无限循环
i = 0;
while (true) {
show(`Iteration: `, i);
i = i + 1;
if (i >= 5) {
break; !! 退出循环
}
}
```
### 循环控制
#### break 语句
`break` 语句用于立即退出循环:
```oraset
!! break 语句
count = 0;
while (count < 10) {
show(`Count: `, count);
if (count == 5) {
show(`Breaking the loop.`);
break;
}
count = count + 1;
}
```
#### continue 语句
`continue` 语句用于跳过当前循环的剩余部分,直接进入下一次循环:
```oraset
!! continue 语句
count = 0;
while (count < 5) {
count = count + 1;
if (count == 3) {
show(`Skipping count: `, count);
continue;
}
show(`Count: `, count);
}
```
## 综合示例
### 猜数字游戏
```oraset
!! 猜数字游戏
@math;
secret_number = math.randint(1, 100);
guess = 0;
tries = 0;
show(`I'm thinking of a number between 1 and 100.`);
show(`Can you guess what it is?`);
while (guess != secret_number) {
guess = input(`Enter your guess: `);
guess = util.toNumber(guess);
tries = tries + 1;
if (guess < secret_number) {
show(`Too low!`);
} else if (guess > secret_number) {
show(`Too high!`);
} else {
show(`Congratulations! You guessed the number in `, tries, ` tries.`);
}
}
```
### 计算斐波那契数列
```oraset
!! 计算斐波那契数列
n = 10;
a = 0;
b = 1;
i = 0;
show(`Fibonacci sequence up to `, n, ` terms:`);
while (i < n) {
show(a);
next = a + b;
a = b;
b = next;
i = i + 1;
}
```
### 素数判断
```oraset
!! 素数判断
number = input(`Enter a number: `);
number = util.toNumber(number);
is_prime = true;
if (number <= 1) {
is_prime = false;
} else {
i = 2;
while (i * i <= number) {
if (number % i == 0) {
is_prime = false;
break;
}
i = i + 1;
}
}
if (is_prime) {
show(number, ` is a prime number.`);
} else {
show(number, ` is not a prime number.`);
}
```
## 注意事项
1. **括号使用**:条件语句和循环语句的条件必须用括号 `()` 包围
2. **代码块**:代码块必须用大括号 `{}` 包围
3. **缩进**:虽然缩进不是强制的,但良好的缩进可以提高代码可读性
4. **分号**:语句结束时使用分号 `;`
5. **条件表达式**:条件表达式必须返回布尔值
## 练习
1. 编写一个程序,输入一个年份,判断是否为闰年
2. 编写一个程序,计算 1 到 100 的和
3. 编写一个程序,打印乘法表(1-9
4. 编写一个程序,输入一个字符串,判断是否为回文
## 小结
本教程介绍了 Oraset 编程语言的控制结构,包括:
- 条件语句:`if``else if``else`
- 循环语句:`while`
- 循环控制:`break``continue`
- 综合示例:猜数字游戏、斐波那契数列、素数判断
这些控制结构是编写复杂程序的基础,掌握它们后,你可以编写更灵活、更强大的 Oraset 程序。
+411
View File
@@ -0,0 +1,411 @@
# 函数和类
本教程将详细介绍 Oraset 编程语言的函数和类,帮助你掌握模块化编程和面向对象编程的基本概念。
## 函数
### 函数定义
使用 `def` 关键字定义函数:
```oraset
!! 函数定义
def greet(name) {
show(`Hello, `, name, `!`);
}
```
### 函数调用
通过函数名和参数列表调用函数:
```oraset
!! 函数调用
greet(`Oraset`); !! 输出: Hello, Oraset!
```
### 参数
函数可以接受多个参数:
```oraset
!! 多参数函数
def add(a, b) {
return a + b;
}
result = add(10, 5);
show(`10 + 5 = `, result); !! 输出: 15
```
### 返回值
使用 `return` 语句返回函数结果:
```oraset
!! 带返回值的函数
def multiply(a, b) {
return a * b;
}
result = multiply(10, 5);
show(`10 * 5 = `, result); !! 输出: 50
```
### 无参数函数
函数可以不接受任何参数:
```oraset
!! 无参数函数
def say_hello() {
show(`Hello, World!`);
}
say_hello(); !! 输出: Hello, World!
```
### 默认参数
函数可以有默认参数值:
```oraset
!! 默认参数
def greet(name = `World`) {
show(`Hello, `, name, `!`);
}
greet(); !! 输出: Hello, World!
greet(`Oraset`); !! 输出: Hello, Oraset!
```
### 可变参数
函数可以接受可变数量的参数:
```oraset
!! 可变参数
def sum(...args) {
total = 0;
i = 0;
while (i < args.length) {
total = total + args[i];
i = i + 1;
}
return total;
}
result = sum(1, 2, 3, 4, 5);
show(`Sum: `, result); !! 输出: 15
```
### 递归函数
函数可以递归调用自身:
```oraset
!! 递归函数
def factorial(n) {
if (n <= 1) {
return 1;
}
return n * factorial(n - 1);
}
result = factorial(5);
show(`5! = `, result); !! 输出: 120
```
### 匿名函数
Oraset 支持匿名函数(也称为 lambda 函数):
```oraset
!! 匿名函数
double = lambda x: x * 2;
show(`Double of 5: `, double(5)); !! 输出: 10
add = lambda a, b: a + b;
show(`10 + 5 = `, add(10, 5)); !! 输出: 15
```
## 类
### 类定义
使用 `class` 关键字定义类:
```oraset
!! 类定义
class Person {
name = `Unknown`;
age = 0;
def __init__(self, name, age) {
self.name = name;
self.age = age;
}
def greet(self) {
show(`Hello, my name is `, self.name, ` and I am `, self.age, ` years old.`);
}
def celebrate_birthday(self) {
self.age = self.age + 1;
show(`Happy birthday! I am now `, self.age, ` years old.`);
}
}
```
### 类的实例化
创建类的实例:
```oraset
!! 类的实例化
person = Person(`John`, 30);
person.greet(); !! 输出: Hello, my name is John and I am 30 years old.
```
### 类的方法
调用类的方法:
```oraset
!! 调用类的方法
person = Person(`John`, 30);
person.greet();
person.celebrate_birthday(); !! 输出: Happy birthday! I am now 31 years old.
person.greet(); !! 输出: Hello, my name is John and I am 31 years old.
```
### 类的属性
访问和修改类的属性:
```oraset
!! 访问和修改类的属性
person = Person(`John`, 30);
show(`Name: `, person.name); !! 输出: John
show(`Age: `, person.age); !! 输出: 30
person.name = `Jane`;
person.age = 25;
show(`Name: `, person.name); !! 输出: Jane
show(`Age: `, person.age); !! 输出: 25
```
### 继承
类可以继承其他类的属性和方法:
```oraset
!! 继承
class Student(Person) {
student_id = ``;
def __init__(self, name, age, student_id) {
super().__init__(name, age);
self.student_id = student_id;
}
def study(self) {
show(`I am studying. My student ID is `, self.student_id);
}
}
student = Student(`Alice`, 18, `S12345`);
student.greet(); !! 输出: Hello, my name is Alice and I am 18 years old.
student.study(); !! 输出: I am studying. My student ID is S12345
```
### 静态方法
类可以有静态方法,不需要实例化就可以调用:
```oraset
!! 静态方法
class MathUtils {
@staticmethod
def add(a, b) {
return a + b;
}
@staticmethod
def multiply(a, b) {
return a * b;
}
}
result1 = MathUtils.add(10, 5);
result2 = MathUtils.multiply(10, 5);
show(`10 + 5 = `, result1); !! 输出: 15
show(`10 * 5 = `, result2); !! 输出: 50
```
## 综合示例
### 计算器类
```oraset
!! 计算器类
class Calculator {
def add(self, a, b) {
return a + b;
}
def subtract(self, a, b) {
return a - b;
}
def multiply(self, a, b) {
return a * b;
}
def divide(self, a, b) {
if (b == 0) {
show(`Error: Division by zero`);
return null;
}
return a / b;
}
def power(self, a, b) {
result = 1;
i = 0;
while (i < b) {
result = result * a;
i = i + 1;
}
return result;
}
}
!! 使用计算器
calc = Calculator();
show(`2 + 3 = `, calc.add(2, 3));
show(`5 - 2 = `, calc.subtract(5, 2));
show(`4 * 6 = `, calc.multiply(4, 6));
show(`10 / 2 = `, calc.divide(10, 2));
show(`2 ^ 3 = `, calc.power(2, 3));
```
### 图书管理系统
```oraset
!! 图书管理系统
class Book {
title = ``;
author = ``;
isbn = ``;
available = true;
def __init__(self, title, author, isbn) {
self.title = title;
self.author = author;
self.isbn = isbn;
}
def borrow(self) {
if (self.available) {
self.available = false;
return true;
}
return false;
}
def return_book(self) {
self.available = true;
}
def get_info(self) {
status = self.available ? `Available` : `Borrowed`;
return `Title: ` + self.title + `, Author: ` + self.author + `, ISBN: ` + self.isbn + `, Status: ` + status;
}
}
class Library {
books = arr();
def add_book(self, book) {
self.books = array.push(self.books, book);
}
def find_book_by_title(self, title) {
i = 0;
while (i < array.length(self.books)) {
book = self.books[i];
if (book.title == title) {
return book;
}
i = i + 1;
}
return null;
}
def list_books(self) {
i = 0;
while (i < array.length(self.books)) {
book = self.books[i];
show(book.get_info());
i = i + 1;
}
}
}
!! 使用图书管理系统
library = Library();
!! 添加图书
library.add_book(Book(`The Great Gatsby`, `F. Scott Fitzgerald`, `978-0743273565`));
library.add_book(Book(`To Kill a Mockingbird`, `Harper Lee`, `978-0061120084`));
library.add_book(Book(`1984`, `George Orwell`, `978-0451524935`));
!! 列出所有图书
show(`All books:`);
library.list_books();
!! 借阅图书
book = library.find_book_by_title(`1984`);
if (book) {
if (book.borrow()) {
show(`Successfully borrowed: `, book.title);
} else {
show(`Book not available: `, book.title);
}
}
!! 再次列出图书
show(`\nBooks after borrowing:`);
library.list_books();
```
## 注意事项
1. **函数命名**:函数名应该使用小写字母,多个单词之间使用下划线
2. **类命名**:类名应该使用驼峰命名法(首字母大写)
3. **方法命名**:方法名应该使用小写字母,多个单词之间使用下划线
4. **参数传递**:参数按值传递,对于数组等复杂类型,传递的是引用
5. **self 参数**:类的方法第一个参数必须是 `self`,表示实例本身
6. **super()**:在继承中,使用 `super()` 调用父类的方法
## 练习
1. 编写一个函数,计算两个数的最大公约数
2. 编写一个函数,判断一个字符串是否为回文
3. 编写一个类,表示一个银行账户,包含存款、取款和查询余额的方法
4. 编写一个类,表示一个矩形,包含计算面积和周长的方法
## 小结
本教程介绍了 Oraset 编程语言的函数和类,包括:
- 函数定义和调用
- 函数参数和返回值
- 递归函数和匿名函数
- 类的定义和实例化
- 类的方法和属性
- 继承和静态方法
- 综合示例:计算器类和图书管理系统
掌握这些概念后,你可以编写更模块化、更可维护的 Oraset 程序。
+196
View File
@@ -0,0 +1,196 @@
# 快速开始
本教程将帮助你快速上手 Oraset 编程语言,包括安装、编写第一个程序以及基本的使用方法。
## 安装 Oraset
### 从源码安装
1. **克隆或下载源码**
- 访问 [GitHub 仓库](https://github.com/Oraset/oraset) 克隆或下载源码到本地
- 解压到任意目录
2. **系统要求**
- Python 3.6 或更高版本
- 支持 Windows 和 Linux 操作系统
3. **运行 Oraset**
- 进入 Oraset 目录
- 直接运行 `oraset.py` 文件:
```bash
python oraset.py
```
### 从二进制安装
1. **下载二进制文件**
- 访问 [Oraset 官网](https://oraset.org) 下载对应平台的二进制文件
- Windows 为 `.exe` 文件,Linux 为可执行文件
2. **安装**
- 解压到任意目录
- 将可执行文件所在目录添加到系统环境变量(可选)
3. **运行 Oraset**
- 直接运行可执行文件:
```bash
oraset
```
## 运行你的第一个程序
### 创建程序文件
创建一个名为 `hello.oraset` 的文件,内容如下:
```oraset
!! 这是一个注释
show(`Hello, Oraset!`);
```
### 运行程序
**使用源码运行**
```bash
python oraset.py hello.oraset
```
**使用二进制文件运行**
```bash
oraset hello.oraset
```
### 查看输出
你将看到输出:
```
Hello, Oraset!
```
## 基本语法示例
### 变量赋值
```oraset
!! 变量赋值
name = `World`;
age = 20;
pi = 3.14159;
show(`Name: `, name);
show(`Age: `, age);
show(`PI: `, pi);
```
### 数学表达式
```oraset
!! 数学表达式
a = 10;
b = 5;
show(`a + b = `, a + b);
show(`a - b = `, a - b);
show(`a * b = `, a * b);
show(`a / b = `, a / b);
show(`a % b = `, a % b);
```
### 条件语句
```oraset
!! 条件语句
age = 18;
if (age >= 18) {
show(`Adult`);
} else {
show(`Minor`);
}
```
### 循环语句
```oraset
!! 循环语句
count = 0;
while (count < 5) {
show(`Count: `, count);
count = count + 1;
}
```
### 函数定义
```oraset
!! 函数定义
def greet(name) {
show(`Hello, `, name, `!`);
}
greet(`Oraset`);
```
### 数组操作
```oraset
!! 数组操作
fruits = arr(`apple`, `banana`, `cherry`);
show(`Fruits: `, fruits);
show(`First fruit: `, fruits[0]);
```
## 库的使用
### 导入库
```oraset
!! 导入数学库
@math;
!! 使用数学函数
show(`PI: `, math.pi());
show(`sin(90): `, math.sin(90));
```
## 打包程序
你可以将 Oraset 代码打包为加密的 `.osp` 文件:
```bash
python oraset.py pack hello.oraset
```
这将生成 `hello.osp` 文件,你可以直接运行它:
```bash
python oraset.py -osp hello.osp
```
## 常见问题
### 为什么我的程序没有输出?
- 确保你使用了 `show` 函数来输出内容
- 检查是否有语法错误
### 如何处理输入?
- Oraset 支持 `input` 函数来获取用户输入:
```oraset
name = input(`What's your name? `);
show(`Hello, `, name, `!`);
```
### 如何调试程序?
- 使用 `show` 函数打印变量值
- 检查错误信息,Oraset 会显示详细的错误位置和原因
## 下一步
- [基本语法教程](basic-syntax.md) - 学习 Oraset 的基本语法
- [控制结构教程](control-structures.md) - 学习条件语句和循环
- [函数和类教程](functions-and-classes.md) - 学习函数和类的使用
- [库参考](libraries/math.md) - 了解 Oraset 的内置库
+65
View File
@@ -0,0 +1,65 @@
# 站点配置
site_name: Oraset 编程语言
site_url: https://oraset.org
site_description: Oraset 编程语言官方文档 - 简单、强大、跨平台的编程语言
# 主题配置
theme:
name: material
language: zh
palette:
primary: orange
accent: orange
scheme: default
features:
- navigation.tabs
- navigation.sections
- search.suggest
- search.highlight
- content.code.copy
- content.code.select
icon:
repo: fontawesome/brands/github
logo: https://trae-api-cn.mchost.guru/api/ide/v1/text_to_image?prompt=Oraset%20programming%20language%20logo%2C%20orange%20color%2C%20modern%20design&image_size=square_hd
# 插件
plugins:
- search
# 导航
nav:
- 首页: index.md
- 入门教程:
- 快速开始: tutorial/quickstart.md
- 基本语法: tutorial/basic-syntax.md
- 控制结构: tutorial/control-structures.md
- 函数和类: tutorial/functions-and-classes.md
- 库参考:
- 数学库: libraries/math.md
- 字符串库: libraries/string.md
- 数组库: libraries/array.md
- 工具库: libraries/util.md
# 额外设置
markdown_extensions:
- toc:
permalink: true
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences
- admonition
- pymdownx.details
# 仓库配置
repo_url: https://github.com/Oraset/oraset
repo_name: Oraset/oraset
# 社交链接
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/Oraset/oraset
- icon: fontawesome/solid/comments
link: https://bbs.ecuil.com
+755
View File
@@ -0,0 +1,755 @@
<!doctype html>
<html lang="zh" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Oraset 编程语言官方文档 - 简单、强大、跨平台的编程语言">
<link rel="icon" href="/assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>Oraset 编程语言</title>
<link rel="stylesheet" href="/assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="/assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("/",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="orange" data-md-color-accent="orange">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="页眉">
<a href="/." title="Oraset 编程语言" class="md-header__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
<img src="https://trae-api-cn.mchost.guru/api/ide/v1/text_to_image?prompt=Oraset%20programming%20language%20logo%2C%20orange%20color%2C%20modern%20design&image_size=square_hd" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Oraset 编程语言
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="查找">
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
正在初始化搜索引擎
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/Oraset/oraset" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
Oraset/oraset
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="标签" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="/." class="md-tabs__link">
首页
</a>
</li>
<li class="md-tabs__item">
<a href="/tutorial/quickstart/" class="md-tabs__link">
入门教程
</a>
</li>
<li class="md-tabs__item">
<a href="/libraries/math/" class="md-tabs__link">
库参考
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="导航栏" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="/." title="Oraset 编程语言" class="md-nav__button md-logo" aria-label="Oraset 编程语言" data-md-component="logo">
<img src="https://trae-api-cn.mchost.guru/api/ide/v1/text_to_image?prompt=Oraset%20programming%20language%20logo%2C%20orange%20color%2C%20modern%20design&image_size=square_hd" alt="logo">
</a>
Oraset 编程语言
</label>
<div class="md-nav__source">
<a href="https://github.com/Oraset/oraset" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</div>
<div class="md-source__repository">
Oraset/oraset
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="/." class="md-nav__link">
<span class="md-ellipsis">
首页
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-ellipsis">
入门教程
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
入门教程
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="/tutorial/quickstart/" class="md-nav__link">
<span class="md-ellipsis">
快速开始
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/tutorial/basic-syntax/" class="md-nav__link">
<span class="md-ellipsis">
基本语法
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/tutorial/control-structures/" class="md-nav__link">
<span class="md-ellipsis">
控制结构
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/tutorial/functions-and-classes/" class="md-nav__link">
<span class="md-ellipsis">
函数和类
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
<span class="md-ellipsis">
库参考
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
库参考
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="/libraries/math/" class="md-nav__link">
<span class="md-ellipsis">
数学库
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/libraries/string/" class="md-nav__link">
<span class="md-ellipsis">
字符串库
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/libraries/array/" class="md-nav__link">
<span class="md-ellipsis">
数组库
</span>
</a>
</li>
<li class="md-nav__item">
<a href="/libraries/util/" class="md-nav__link">
<span class="md-ellipsis">
工具库
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="目录">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>404 - Not found</h1>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
<div class="md-social">
<a href="https://github.com/Oraset/oraset" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
</a>
<a href="https://bbs.ecuil.com" target="_blank" rel="noopener" title="bbs.ecuil.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M384 144c0 97.2-86 176-192 176-26.7 0-52.1-5-75.2-14l-81.6 43.2c-9.3 4.9-20.7 3.2-28.2-4.2s-9.2-18.9-4.2-28.2l35.6-67.2C14.3 220.2 0 183.6 0 144 0 46.8 86-32 192-32s192 78.8 192 176m0 368c-94.1 0-172.4-62.1-188.8-144 120-1.5 224.3-86.9 235.8-202.7 83.3 19.2 145 88.3 145 170.7 0 39.6-14.3 76.2-38.4 105.6l35.6 67.2c4.9 9.3 3.2 20.7-4.2 28.2s-18.9 9.2-28.2 4.2L459.2 498c-23.1 9-48.5 14-75.2 14"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate": null, "base": "/", "features": ["navigation.tabs", "navigation.sections", "search.suggest", "search.highlight", "content.code.copy", "content.code.select"], "search": "/assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
<script src="/assets/javascripts/bundle.79ae519e.min.js"></script>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+18
View File
@@ -0,0 +1,18 @@
/*!
* Lunr languages, `Danish` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.da=function(){this.pipeline.reset(),this.pipeline.add(e.da.trimmer,e.da.stopWordFilter,e.da.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.da.stemmer))},e.da.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.da.trimmer=e.trimmerSupport.generateTrimmer(e.da.wordCharacters),e.Pipeline.registerFunction(e.da.trimmer,"trimmer-da"),e.da.stemmer=function(){var r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,n=new function(){function e(){var e,r=f.cursor+3;if(d=f.limit,0<=r&&r<=f.limit){for(a=r;;){if(e=f.cursor,f.in_grouping(w,97,248)){f.cursor=e;break}if(f.cursor=e,e>=f.limit)return;f.cursor++}for(;!f.out_grouping(w,97,248);){if(f.cursor>=f.limit)return;f.cursor++}d=f.cursor,d<a&&(d=a)}}function n(){var e,r;if(f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(c,32),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del();break;case 2:f.in_grouping_b(p,97,229)&&f.slice_del()}}function t(){var e,r=f.limit-f.cursor;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.find_among_b(l,4)?(f.bra=f.cursor,f.limit_backward=e,f.cursor=f.limit-r,f.cursor>f.limit_backward&&(f.cursor--,f.bra=f.cursor,f.slice_del())):f.limit_backward=e)}function s(){var e,r,i,n=f.limit-f.cursor;if(f.ket=f.cursor,f.eq_s_b(2,"st")&&(f.bra=f.cursor,f.eq_s_b(2,"ig")&&f.slice_del()),f.cursor=f.limit-n,f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(m,5),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del(),i=f.limit-f.cursor,t(),f.cursor=f.limit-i;break;case 2:f.slice_from("løs")}}function o(){var e;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.out_grouping_b(w,97,248)?(f.bra=f.cursor,u=f.slice_to(u),f.limit_backward=e,f.eq_v_b(u)&&f.slice_del()):f.limit_backward=e)}var a,d,u,c=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],l=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],p=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],f=new i;this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var r=f.cursor;return e(),f.limit_backward=r,f.cursor=f.limit,n(),f.cursor=f.limit,t(),f.cursor=f.limit,s(),f.cursor=f.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Z-zA-0-9-",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}});
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z԰-֏ff-ﭏ]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("դու և եք էիր էիք հետո նաև նրանք որը վրա է որ պիտի են այս մեջ ն իր ու ի այդ որոնք այն կամ էր մի ես համար այլ իսկ էին ենք հետ ին թ էինք մենք նրա նա դուք եմ էի ըստ որպես ում".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}});
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n<p.length;n++)r?a.push(new e.Token(p[n],{position:[f,p[n].length],index:a.length})):a.push(p[n]),f+=p[n].length;l=c+1}return a},e.ja.stemmer=function(){return function(e){return e}}(),e.Pipeline.registerFunction(e.ja.stemmer,"stemmer-ja"),e.ja.wordCharacters="一二三四五六七八九十百千万億兆一-龠々〆ヵヶぁ-んァ-ヴーア-ン゙a-zA-Z-zA-0-9-",e.ja.trimmer=e.trimmerSupport.generateTrimmer(e.ja.wordCharacters),e.Pipeline.registerFunction(e.ja.trimmer,"trimmer-ja"),e.ja.stopWordFilter=e.generateStopWordFilter("これ それ あれ この その あの ここ そこ あそこ こちら どこ だれ なに なん 何 私 貴方 貴方方 我々 私達 あの人 あのかた 彼女 彼 です あります おります います は が の に を で え から まで より も どの と し それで しかし".split(" ")),e.Pipeline.registerFunction(e.ja.stopWordFilter,"stopWordFilter-ja"),e.jp=e.ja,e.Pipeline.registerFunction(e.jp.stemmer,"stemmer-jp"),e.Pipeline.registerFunction(e.jp.trimmer,"trimmer-jp"),e.Pipeline.registerFunction(e.jp.stopWordFilter,"stopWordFilter-jp")}});
+1
View File
@@ -0,0 +1 @@
module.exports=require("./lunr.ja");
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.kn=function(){this.pipeline.reset(),this.pipeline.add(e.kn.trimmer,e.kn.stopWordFilter,e.kn.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.kn.stemmer))},e.kn.wordCharacters="ಀ-಄ಅ-ಔಕ-ಹಾ-ೌ಼-ಽೕ-ೖೝ-ೞೠ-ೡೢ-ೣ೤೥೦-೯ೱ-ೳ",e.kn.trimmer=e.trimmerSupport.generateTrimmer(e.kn.wordCharacters),e.Pipeline.registerFunction(e.kn.trimmer,"trimmer-kn"),e.kn.stopWordFilter=e.generateStopWordFilter("ಮತ್ತು ಈ ಒಂದು ರಲ್ಲಿ ಹಾಗೂ ಎಂದು ಅಥವಾ ಇದು ರ ಅವರು ಎಂಬ ಮೇಲೆ ಅವರ ತನ್ನ ಆದರೆ ತಮ್ಮ ನಂತರ ಮೂಲಕ ಹೆಚ್ಚು ನ ಆ ಕೆಲವು ಅನೇಕ ಎರಡು ಹಾಗು ಪ್ರಮುಖ ಇದನ್ನು ಇದರ ಸುಮಾರು ಅದರ ಅದು ಮೊದಲ ಬಗ್ಗೆ ನಲ್ಲಿ ರಂದು ಇತರ ಅತ್ಯಂತ ಹೆಚ್ಚಿನ ಸಹ ಸಾಮಾನ್ಯವಾಗಿ ನೇ ಹಲವಾರು ಹೊಸ ದಿ ಕಡಿಮೆ ಯಾವುದೇ ಹೊಂದಿದೆ ದೊಡ್ಡ ಅನ್ನು ಇವರು ಪ್ರಕಾರ ಇದೆ ಮಾತ್ರ ಕೂಡ ಇಲ್ಲಿ ಎಲ್ಲಾ ವಿವಿಧ ಅದನ್ನು ಹಲವು ರಿಂದ ಕೇವಲ ದ ದಕ್ಷಿಣ ಗೆ ಅವನ ಅತಿ ನೆಯ ಬಹಳ ಕೆಲಸ ಎಲ್ಲ ಪ್ರತಿ ಇತ್ಯಾದಿ ಇವು ಬೇರೆ ಹೀಗೆ ನಡುವೆ ಇದಕ್ಕೆ ಎಸ್ ಇವರ ಮೊದಲು ಶ್ರೀ ಮಾಡುವ ಇದರಲ್ಲಿ ರೀತಿಯ ಮಾಡಿದ ಕಾಲ ಅಲ್ಲಿ ಮಾಡಲು ಅದೇ ಈಗ ಅವು ಗಳು ಎ ಎಂಬುದು ಅವನು ಅಂದರೆ ಅವರಿಗೆ ಇರುವ ವಿಶೇಷ ಮುಂದೆ ಅವುಗಳ ಮುಂತಾದ ಮೂಲ ಬಿ ಮೀ ಒಂದೇ ಇನ್ನೂ ಹೆಚ್ಚಾಗಿ ಮಾಡಿ ಅವರನ್ನು ಇದೇ ಯ ರೀತಿಯಲ್ಲಿ ಜೊತೆ ಅದರಲ್ಲಿ ಮಾಡಿದರು ನಡೆದ ಆಗ ಮತ್ತೆ ಪೂರ್ವ ಆತ ಬಂದ ಯಾವ ಒಟ್ಟು ಇತರೆ ಹಿಂದೆ ಪ್ರಮಾಣದ ಗಳನ್ನು ಕುರಿತು ಯು ಆದ್ದರಿಂದ ಅಲ್ಲದೆ ನಗರದ ಮೇಲಿನ ಏಕೆಂದರೆ ರಷ್ಟು ಎಂಬುದನ್ನು ಬಾರಿ ಎಂದರೆ ಹಿಂದಿನ ಆದರೂ ಆದ ಸಂಬಂಧಿಸಿದ ಮತ್ತೊಂದು ಸಿ ಆತನ ".split(" ")),e.kn.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.kn.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var n=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(n).split("|")},e.Pipeline.registerFunction(e.kn.stemmer,"stemmer-kn"),e.Pipeline.registerFunction(e.kn.stopWordFilter,"stopWordFilter-kn")}});
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),i=t.join("-"),r="",n=[],s=[],p=0;p<t.length;++p)"en"==t[p]?(r+="\\w",n.unshift(e.stopWordFilter),n.push(e.stemmer),s.push(e.stemmer)):(r+=e[t[p]].wordCharacters,e[t[p]].stopWordFilter&&n.unshift(e[t[p]].stopWordFilter),e[t[p]].stemmer&&(n.push(e[t[p]].stemmer),s.push(e[t[p]].stemmer)));var o=e.trimmerSupport.generateTrimmer(r);return e.Pipeline.registerFunction(o,"lunr-multi-trimmer-"+i),n.unshift(o),function(){this.pipeline.reset(),this.pipeline.add.apply(this.pipeline,n),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add.apply(this.searchPipeline,s))}}}});
File diff suppressed because one or more lines are too long
+18
View File
@@ -0,0 +1,18 @@
/*!
* Lunr languages, `Norwegian` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,r=w.cursor+3;if(a=w.limit,0<=r||r<=w.limit){for(s=r;;){if(e=w.cursor,w.in_grouping(d,97,248)){w.cursor=e;break}if(e>=w.limit)return;w.cursor=e+1}for(;!w.out_grouping(d,97,248);){if(w.cursor>=w.limit)return;w.cursor++}a=w.cursor,a<s&&(a=s)}}function i(){var e,r,n;if(w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sa=function(){this.pipeline.reset(),this.pipeline.add(e.sa.trimmer,e.sa.stopWordFilter,e.sa.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sa.stemmer))},e.sa.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿ꣠-꣱ꣲ-ꣷ꣸-ꣻ꣼-ꣽꣾ-ꣿᆰ0-ᆰ9",e.sa.trimmer=e.trimmerSupport.generateTrimmer(e.sa.wordCharacters),e.Pipeline.registerFunction(e.sa.trimmer,"trimmer-sa"),e.sa.stopWordFilter=e.generateStopWordFilter('तथा अयम्‌ एकम्‌ इत्यस्मिन्‌ तथा तत्‌ वा अयम्‌ इत्यस्य ते आहूत उपरि तेषाम्‌ किन्तु तेषाम्‌ तदा इत्यनेन अधिकः इत्यस्य तत्‌ केचन बहवः द्वि तथा महत्वपूर्णः अयम्‌ अस्य विषये अयं अस्ति तत्‌ प्रथमः विषये इत्युपरि इत्युपरि इतर अधिकतमः अधिकः अपि सामान्यतया ठ इतरेतर नूतनम्‌ द न्यूनम्‌ कश्चित्‌ वा विशालः द सः अस्ति तदनुसारम् तत्र अस्ति केवलम्‌ अपि अत्र सर्वे विविधाः तत्‌ बहवः यतः इदानीम्‌ द दक्षिण इत्यस्मै तस्य उपरि नथ अतीव कार्यम्‌ सर्वे एकैकम्‌ इत्यादि। एते सन्ति उत इत्थम्‌ मध्ये एतदर्थं . स कस्य प्रथमः श्री. करोति अस्मिन् प्रकारः निर्मिता कालः तत्र कर्तुं समान अधुना ते सन्ति स एकः अस्ति सः अर्थात् तेषां कृते . स्थितम् विशेषः अग्रिम तेषाम्‌ समान स्रोतः ख म समान इदानीमपि अधिकतया करोतु ते समान इत्यस्य वीथी सह यस्मिन् कृतवान्‌ धृतः तदा पुनः पूर्वं सः आगतः किम्‌ कुल इतर पुरा मात्रा स विषये उ अतएव अपि नगरस्य उपरि यतः प्रतिशतं कतरः कालः साधनानि भूत तथापि जात सम्बन्धि अन्यत्‌ ग अतः अस्माकं स्वकीयाः अस्माकं इदानीं अन्तः इत्यादयः भवन्तः इत्यादयः एते एताः तस्य अस्य इदम् एते तेषां तेषां तेषां तान् तेषां तेषां तेषां समानः सः एकः च तादृशाः बहवः अन्ये च वदन्ति यत् कियत् कस्मै कस्मै यस्मै यस्मै यस्मै यस्मै न अतिनीचः किन्तु प्रथमं सम्पूर्णतया ततः चिरकालानन्तरं पुस्तकं सम्पूर्णतया अन्तः किन्तु अत्र वा इह इव श्रद्धाय अवशिष्यते परन्तु अन्ये वर्गाः सन्ति ते सन्ति शक्नुवन्ति सर्वे मिलित्वा सर्वे एकत्र"'.split(" ")),e.sa.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.sa.tokenizer=function(t){if(!arguments.length||null==t||void 0==t)return[];if(Array.isArray(t))return t.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var i=t.toString().toLowerCase().replace(/^\s+/,"");return r.cut(i).split("|")},e.Pipeline.registerFunction(e.sa.stemmer,"stemmer-sa"),e.Pipeline.registerFunction(e.sa.stopWordFilter,"stopWordFilter-sa")}});
@@ -0,0 +1 @@
!function(r,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(r.lunr)}(this,function(){return function(r){r.stemmerSupport={Among:function(r,t,i,s){if(this.toCharArray=function(r){for(var t=r.length,i=new Array(t),s=0;s<t;s++)i[s]=r.charCodeAt(s);return i},!r&&""!=r||!t&&0!=t||!i)throw"Bad Among initialisation: s:"+r+", substring_i: "+t+", result: "+i;this.s_size=r.length,this.s=this.toCharArray(r),this.substring_i=t,this.result=i,this.method=s},SnowballProgram:function(){var r;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(t){r=t,this.cursor=0,this.limit=t.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var t=r;return r=null,t},in_grouping:function(t,i,s){if(this.cursor<this.limit){var e=r.charCodeAt(this.cursor);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursor<this.limit){var e=r.charCodeAt(this.cursor);if(e>s||e<i)return this.cursor++,!0;if(e-=i,!(t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e<i)return this.cursor--,!0;if(e-=i,!(t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor<t)return!1;for(var s=0;s<t;s++)if(r.charCodeAt(this.cursor+s)!=i.charCodeAt(s))return!1;return this.cursor+=t,!0},eq_s_b:function(t,i){if(this.cursor-this.limit_backward<t)return!1;for(var s=0;s<t;s++)if(r.charCodeAt(this.cursor-t+s)!=i.charCodeAt(s))return!1;return this.cursor-=t,!0},find_among:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o<h?o:h,_=t[a],m=l;m<_.s_size;m++){if(n+l==u){f=-1;break}if(f=r.charCodeAt(n+l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o<h?o:h,_=t[a],m=_.s_size-1-l;m>=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}});
+18
View File
@@ -0,0 +1,18 @@
/*!
* Lunr languages, `Swedish` language
* https://github.com/MihaiValentin/lunr-languages
*
* Copyright 2014, Mihai Valentin
* http://www.mozilla.org/MPL/
*/
/*!
* based on
* Snowball JavaScript Library v0.3
* http://code.google.com/p/urim/
* http://snowball.tartarus.org/
*
* Copyright 2010, Oleg Mazko
* http://www.mozilla.org/MPL/
*/
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,t=new function(){function e(){var e,r=w.cursor+3;if(o=w.limit,0<=r||r<=w.limit){for(a=r;;){if(e=w.cursor,w.in_grouping(l,97,246)){w.cursor=e;break}if(w.cursor=e,w.cursor>=w.limit)return;w.cursor++}for(;!w.out_grouping(l,97,246);){if(w.cursor>=w.limit)return;w.cursor++}o=w.cursor,o<a&&(o=a)}}function t(){var e,r=w.limit_backward;if(w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(u,37),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.in_grouping_b(d,98,121)&&w.slice_del()}}function i(){var e=w.limit_backward;w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.find_among_b(c,7)&&(w.cursor=w.limit,w.ket=w.cursor,w.cursor>w.limit_backward&&(w.bra=--w.cursor,w.slice_del())),w.limit_backward=e)}function s(){var e,r;if(w.cursor>=o){if(r=w.limit_backward,w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(m,5))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.slice_from("lös");break;case 3:w.slice_from("full")}w.limit_backward=r}}var a,o,u=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],c=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],d=[119,127,149],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,t(),w.cursor=w.limit,i(),w.cursor=w.limit,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return t.setCurrent(e),t.stem(),t.getCurrent()}):(t.setCurrent(e),t.stem(),t.getCurrent())}}(),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}});
+1
View File
@@ -0,0 +1 @@
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="஀-உஊ-ஏஐ-ஙச-ட஠-னப-யர-ஹ஺-ிீ-௉ொ-௏ௐ-௙௚-௟௠-௩௪-௯௰-௹௺-௿a-zA-Z-zA-0-9-",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("அங்கு அங்கே அது அதை அந்த அவர் அவர்கள் அவள் அவன் அவை ஆக ஆகவே ஆகையால் ஆதலால் ஆதலினால் ஆனாலும் ஆனால் இங்கு இங்கே இது இதை இந்த இப்படி இவர் இவர்கள் இவள் இவன் இவை இவ்வளவு உனக்கு உனது உன் உன்னால் எங்கு எங்கே எது எதை எந்த எப்படி எவர் எவர்கள் எவள் எவன் எவை எவ்வளவு எனக்கு எனது எனவே என் என்ன என்னால் ஏது ஏன் தனது தன்னால் தானே தான் நாங்கள் நாம் நான் நீ நீங்கள்".split(" ")),e.ta.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.ta.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}});
+1
View File
@@ -0,0 +1 @@
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="ఀ-ఄఅ-ఔక-హా-ౌౕ-ౖౘ-ౚౠ-ౡౢ-ౣ౦-౯౸-౿఼ఽ్ౝ౷౤౥",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("అందరూ అందుబాటులో అడగండి అడగడం అడ్డంగా అనుగుణంగా అనుమతించు అనుమతిస్తుంది అయితే ఇప్పటికే ఉన్నారు ఎక్కడైనా ఎప్పుడు ఎవరైనా ఎవరో ఏ ఏదైనా ఏమైనప్పటికి ఒక ఒకరు కనిపిస్తాయి కాదు కూడా గా గురించి చుట్టూ చేయగలిగింది తగిన తర్వాత దాదాపు దూరంగా నిజంగా పై ప్రకారం ప్రక్కన మధ్య మరియు మరొక మళ్ళీ మాత్రమే మెచ్చుకో వద్ద వెంట వేరుగా వ్యతిరేకంగా సంబంధం".split(" ")),e.te.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.te.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}});
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[฀-๿]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}});
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}});
+1
View File
@@ -0,0 +1 @@
!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("@node-rs/jieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 為 以 于 於 上 他 而 后 後 之 来 來 及 了 因 下 可 到 由 这 這 与 與 也 此 但 并 並 个 個 其 已 无 無 小 我 们 們 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 當 从 從 得 打 凡 儿 兒 尔 爾 该 該 各 给 給 跟 和 何 还 還 即 几 幾 既 看 据 據 距 靠 啦 另 么 麽 每 嘛 拿 哪 您 凭 憑 且 却 卻 让 讓 仍 啥 如 若 使 谁 誰 虽 雖 随 隨 同 所 她 哇 嗡 往 些 向 沿 哟 喲 用 咱 则 則 怎 曾 至 致 着 著 诸 諸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}});
@@ -0,0 +1,206 @@
/**
* export the module via AMD, CommonJS or as a browser global
* Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
*/
;(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(factory)
} else if (typeof exports === 'object') {
/**
* Node. Does not work with strict CommonJS, but
* only CommonJS-like environments that support module.exports,
* like Node.
*/
module.exports = factory()
} else {
// Browser globals (root is window)
factory()(root.lunr);
}
}(this, function () {
/**
* Just return a value to define the module export.
* This example returns an object, but the module
* can return a function as the exported value.
*/
return function(lunr) {
// TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript
// (c) 2008 Taku Kudo <taku@chasen.org>
// TinySegmenter is freely distributable under the terms of a new BSD licence.
// For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt
function TinySegmenter() {
var patterns = {
"[一二三四五六七八九十百千万億兆]":"M",
"[一-龠々〆ヵヶ]":"H",
"[ぁ-ん]":"I",
"[ァ-ヴーア-ン゙ー]":"K",
"[a-zA-Z-zA-]":"A",
"[0-9-]":"N"
}
this.chartype_ = [];
for (var i in patterns) {
var regexp = new RegExp(i);
this.chartype_.push([regexp, patterns[i]]);
}
this.BIAS__ = -332
this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378};
this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920};
this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266};
this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352};
this.BP2__ = {"BO":60,"OO":-1762};
this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965};
this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146};
this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699};
this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973};
this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682};
this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669};
this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990};
this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832};
this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649};
this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393};
this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841};
this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68};
this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591};
this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685};
this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156};
this.TW1__ = {"につい":-4681,"東京都":2026};
this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216};
this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287};
this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865};
this.UC1__ = {"A":484,"K":93,"M":645,"O":-505};
this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646};
this.UC3__ = {"A":-1370,"I":2311};
this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646};
this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831};
this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387};
this.UP1__ = {"O":-214};
this.UP2__ = {"B":69,"O":935};
this.UP3__ = {"B":189};
this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422};
this.UQ2__ = {"BH":216,"BI":113,"OK":1759};
this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212};
this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135};
this.UW2__ = {",":-829,"、":-829,"":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568};
this.UW3__ = {",":4889,"1":-800,"":-1723,"、":4889,"々":-2311,"":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278};
this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637};
this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343};
this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"":-270,"E1":306,"ル":-673,"ン":-496};
return this;
}
TinySegmenter.prototype.ctype_ = function(str) {
for (var i in this.chartype_) {
if (str.match(this.chartype_[i][0])) {
return this.chartype_[i][1];
}
}
return "O";
}
TinySegmenter.prototype.ts_ = function(v) {
if (v) { return v; }
return 0;
}
TinySegmenter.prototype.segment = function(input) {
if (input == null || input == undefined || input == "") {
return [];
}
var result = [];
var seg = ["B3","B2","B1"];
var ctype = ["O","O","O"];
var o = input.split("");
for (i = 0; i < o.length; ++i) {
seg.push(o[i]);
ctype.push(this.ctype_(o[i]))
}
seg.push("E1");
seg.push("E2");
seg.push("E3");
ctype.push("O");
ctype.push("O");
ctype.push("O");
var word = seg[3];
var p1 = "U";
var p2 = "U";
var p3 = "U";
for (var i = 4; i < seg.length - 3; ++i) {
var score = this.BIAS__;
var w1 = seg[i-3];
var w2 = seg[i-2];
var w3 = seg[i-1];
var w4 = seg[i];
var w5 = seg[i+1];
var w6 = seg[i+2];
var c1 = ctype[i-3];
var c2 = ctype[i-2];
var c3 = ctype[i-1];
var c4 = ctype[i];
var c5 = ctype[i+1];
var c6 = ctype[i+2];
score += this.ts_(this.UP1__[p1]);
score += this.ts_(this.UP2__[p2]);
score += this.ts_(this.UP3__[p3]);
score += this.ts_(this.BP1__[p1 + p2]);
score += this.ts_(this.BP2__[p2 + p3]);
score += this.ts_(this.UW1__[w1]);
score += this.ts_(this.UW2__[w2]);
score += this.ts_(this.UW3__[w3]);
score += this.ts_(this.UW4__[w4]);
score += this.ts_(this.UW5__[w5]);
score += this.ts_(this.UW6__[w6]);
score += this.ts_(this.BW1__[w2 + w3]);
score += this.ts_(this.BW2__[w3 + w4]);
score += this.ts_(this.BW3__[w4 + w5]);
score += this.ts_(this.TW1__[w1 + w2 + w3]);
score += this.ts_(this.TW2__[w2 + w3 + w4]);
score += this.ts_(this.TW3__[w3 + w4 + w5]);
score += this.ts_(this.TW4__[w4 + w5 + w6]);
score += this.ts_(this.UC1__[c1]);
score += this.ts_(this.UC2__[c2]);
score += this.ts_(this.UC3__[c3]);
score += this.ts_(this.UC4__[c4]);
score += this.ts_(this.UC5__[c5]);
score += this.ts_(this.UC6__[c6]);
score += this.ts_(this.BC1__[c2 + c3]);
score += this.ts_(this.BC2__[c3 + c4]);
score += this.ts_(this.BC3__[c4 + c5]);
score += this.ts_(this.TC1__[c1 + c2 + c3]);
score += this.ts_(this.TC2__[c2 + c3 + c4]);
score += this.ts_(this.TC3__[c3 + c4 + c5]);
score += this.ts_(this.TC4__[c4 + c5 + c6]);
// score += this.ts_(this.TC5__[c4 + c5 + c6]);
score += this.ts_(this.UQ1__[p1 + c1]);
score += this.ts_(this.UQ2__[p2 + c2]);
score += this.ts_(this.UQ3__[p3 + c3]);
score += this.ts_(this.BQ1__[p2 + c2 + c3]);
score += this.ts_(this.BQ2__[p2 + c3 + c4]);
score += this.ts_(this.BQ3__[p3 + c2 + c3]);
score += this.ts_(this.BQ4__[p3 + c3 + c4]);
score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]);
score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]);
score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]);
score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]);
var p = "O";
if (score > 0) {
result.push(word);
word = "";
p = "B";
}
p1 = p2;
p2 = p3;
p3 = p;
word += seg[i];
}
result.push(word);
return result;
}
lunr.TinySegmenter = TinySegmenter;
};
}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"version":3,"sources":["src/templates/assets/stylesheets/palette/_scheme.scss","../../../../src/templates/assets/stylesheets/palette.scss","src/templates/assets/stylesheets/palette/_accent.scss","src/templates/assets/stylesheets/palette/_primary.scss","src/templates/assets/stylesheets/utilities/_break.scss"],"names":[],"mappings":"AA2BA,cAGE,6BAME,sDAAA,CACA,6DAAA,CACA,+DAAA,CACA,gEAAA,CACA,mDAAA,CACA,6DAAA,CACA,+DAAA,CACA,gEAAA,CAGA,mDAAA,CACA,gDAAA,CACA,yDAAA,CACA,4DAAA,CAGA,0BAAA,CACA,mCAAA,CAGA,iCAAA,CACA,kCAAA,CACA,mCAAA,CACA,mCAAA,CACA,kCAAA,CACA,iCAAA,CACA,+CAAA,CACA,6DAAA,CACA,gEAAA,CACA,4DAAA,CACA,4DAAA,CACA,6DAAA,CAGA,6CAAA,CAGA,+CAAA,CAGA,uDAAA,CACA,6DAAA,CACA,2DAAA,CAGA,iCAAA,CAGA,yDAAA,CACA,iEAAA,CAGA,mDAAA,CACA,mDAAA,CAGA,qDAAA,CACA,uDAAA,CAGA,8DAAA,CAKA,8DAAA,CAKA,0DAAA,CAzEA,iBCiBF,CD6DE,kHAEE,YC3DJ,CDkFE,yDACE,4BChFJ,CD+EE,2DACE,4BC7EJ,CD4EE,gEACE,4BC1EJ,CDyEE,2DACE,4BCvEJ,CDsEE,yDACE,4BCpEJ,CDmEE,0DACE,4BCjEJ,CDgEE,gEACE,4BC9DJ,CD6DE,0DACE,4BC3DJ,CD0DE,2OACE,4BC/CJ,CDsDA,+FAGE,iCCpDF,CACF,CCjDE,2BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD6CN,CCvDE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDoDN,CC9DE,8BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD2DN,CCrEE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDkEN,CC5EE,8BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDyEN,CCnFE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDgFN,CC1FE,kCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDuFN,CCjGE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD8FN,CCxGE,4BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDqGN,CC/GE,6BACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCD4GN,CCtHE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDmHN,CC7HE,4BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCD6HN,CCpIE,8BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCDoIN,CC3IE,6BACE,yBAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCD2IN,CClJE,8BACE,4BAAA,CACA,2CAAA,CAIE,8BAAA,CACA,qCDkJN,CCzJE,mCACE,4BAAA,CACA,2CAAA,CAOE,yBAAA,CACA,qCDsJN,CE3JE,4BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwJN,CEnKE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgKN,CE3KE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwKN,CEnLE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgLN,CE3LE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwLN,CEnME,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgMN,CE3ME,mCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwMN,CEnNE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgNN,CE3NE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwNN,CEnOE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgON,CE3OE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwON,CEnPE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCFmPN,CE3PE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCF2PN,CEnQE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCFmQN,CE3QE,+BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAIE,+BAAA,CACA,sCF2QN,CEnRE,oCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFgRN,CE3RE,8BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCFwRN,CEnSE,6BACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCAAA,CAKA,4BF4RN,CE5SE,kCACE,6BAAA,CACA,oCAAA,CACA,mCAAA,CAOE,0BAAA,CACA,sCAAA,CAKA,4BFqSN,CEtRE,sEACE,4BFyRJ,CE1RE,+DACE,4BF6RJ,CE9RE,iEACE,4BFiSJ,CElSE,gEACE,4BFqSJ,CEtSE,iEACE,4BFySJ,CEhSA,8BACE,mDAAA,CACA,4DAAA,CACA,0DAAA,CACA,oDAAA,CACA,2DAAA,CAGA,4BFiSF,CE9RE,yCACE,+BFgSJ,CE7RI,kDAEE,0CAAA,CACA,sCAAA,CAFA,mCFiSN,CG7MI,mCD1EA,+CACE,8CF0RJ,CEvRI,qDACE,8CFyRN,CEpRE,iEACE,mCFsRJ,CACF,CGxNI,sCDvDA,uCACE,oCFkRJ,CACF,CEzQA,8BACE,kDAAA,CACA,4DAAA,CACA,wDAAA,CACA,oDAAA,CACA,6DAAA,CAGA,4BF0QF,CEvQE,yCACE,+BFyQJ,CEtQI,kDAEE,0CAAA,CACA,sCAAA,CAFA,mCF0QN,CEnQE,yCACE,6CFqQJ,CG9NI,0CDhCA,8CACE,gDFiQJ,CACF,CGnOI,0CDvBA,iFACE,6CF6PJ,CACF,CG3PI,sCDKA,uCACE,6CFyPJ,CACF","file":"palette.css"}
+1226
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://oraset.org/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/libraries/array/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/libraries/math/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/libraries/string/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/libraries/util/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/tutorial/basic-syntax/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/tutorial/control-structures/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/tutorial/functions-and-classes/</loc>
<lastmod>2026-04-24</lastmod>
</url>
<url>
<loc>https://oraset.org/tutorial/quickstart/</loc>
<lastmod>2026-04-24</lastmod>
</url>
</urlset>
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff