问题描述:
case get(?player_looptaskinfo) of {targetcnt, taskstar, taskexp} -> ok; _ -> throw("not_found_loop_task_info") end
在case语句中,这样写,编译时,会提示变量unsafe,解决编译器报错的方法有下面两个:
1、给unsafe的变量赋值
case get(?player_looptaskinfo) of {targetcnt, taskstar, taskexp} -> ok; _ -> targetcnt=0,taskstar=0,taskexp=0, throw("not_found_loop_task_info") end
2、把case语句拆成函数
{targetcnt, taskstar, taskexp} = valid_task_info(get(?player_looptaskinfo)) valid_task_info({_, _, _} = info) -> info; valid_task_info(_) -> throw("not_found_loop_task_info").