跳到主要内容

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进行递归按值比较