util_lib
简介
一些工具函数和工具组件的集合
组件接口
util_misc.gs
一些杂项功能函数集合
函数原型 | 函数作用 |
---|---|
array box_msgpackable_value(mixed v) | 将一个指定值装箱为可以被msgpack.pack打包的数组 |
mixed unbox_msgpackable_value(array arr) | 将由box_msgpackable_value打包的数组还原为值 |
int combine_int64(int int32_value1, int int32_value2) | 将两个32位整数组合成一个64位整数 |
array split_int64(int int64_value) | 将一个64位整数拆分成两个32位整数 |
int? fetch_program_file_crc64(string program_file) | 根据代码文件路径获取文件CRC64校验和 |
bool program.is_self_out_of_date(program p) | 判断program自身是否过期 |
bool program.is_out_of_date(program p, array program_file_list = nil) | 判断program是否过期 |
bool program.is_components_out_of_date(program p, array program_file_list = nil) | 判断组件的program是否过期 |
util_object.gs
object相关的一些功能函数集合
函数原型 | 函数作用 |
---|---|
object safe_load_object(string f, mixed para = nil, domain d = nil) | 安全载入一个静态对象 |
void safe_load_directory(string path, mixed para = , domain d = nil) | 安全加载目录下的所有静态对象 |
array find_scripts(string path, bool recursively = false) | 获取指定目录下的所有脚本文件(以.gs或者.o结尾的文件) |
domain assure_domain(mixed d) | 确保一个域有效 |
domain create_domain(string domain_name) | 创建一个指定名称的域 |
void assure_in_domain(object ob) | 断言当前域就是对象的域 |
string file2domain(string file_name, string identifier = "DOMAIN") | 为一个文件名生成一个格式化的域名 |
string get_pure_name(string obfile) | 获取一个文件名中不带路径和扩展名 的纯文件名 |
util_value.gs
类型相关的一些功能函数集合
函数原型 | 函数作用 |
---|---|
bool is_domain(mixed h) | 是否为domain类型 |
bool is_timer(mixed h) | 是否为timer类型 |
bool is_coroutine(mixed h) | 是否为coroutine类型 |
bool is_sync_object(mixed h) | 是否为sync_object类型 |
bool is_queue(mixed h) | 是否为queue类型 |
bool is_socket(mixed h) | 是否为socket类型 |
bool is_share_value(mixed h) | 是否为share_value类型 |
bool is_share_map(mixed h) | 是否为share_map类型(share_value创建时指定为map) |
bool is_share_array(mixed h) | 是否为share_array类型(share_value创建时指定为array) |
bool is_share_int(mixed h) | 是否为share_int类型(share_value创建时指定为int) |
bool is_number(mixed val) | 是否为数值类型(int 或者 float类型) |
mixed maximum(...) | 求最大值 |
mixed minimum(...) | 求最小值 |
bool is_equal_value(mixed v1, mixed v2) | 比较两个值是否相等;特别的,对MAP和ARRAY进行递归按值比较 |