|
1 local string 需要不需要排泄?是不是无法排泄?
比如:
function x takes nothing returns string
local string s = "a"
return s
endfunction
这样的函数中,如果在return之前set s=null 的话,无法正确return到s的值,如果在return之后set s= null的话,是无法执行到这条命令
那么local sring 到底是不是一个指针呢?如果是的话,一旦使用就无法排泄了么?
2 用function 、hastable、全局变量数组 来做一个编译器的话,哪一种效果更好?
因为没学过编程,可能我说的不太明白,举个例子来说吧:
假如我要从物编的某些整型数值中读取出我设定的物品类型,其中:1代表剑 2代表盾 等等,那么我需要一个可以把整数换成对应字符串的编译器。
用function的话:
function a takes integer i returns string
if i == 1 then
returns "剑"
endif
if i == 2 then
returns "盾"
endif
return null
endfunction
用hastalbe的话:
globle
hashtable HT = InitHashtable()
globle
function main takes nothing returns nothing
call SaveStr(ht,0,1,"剑")
call SaveStr(ht,0,2,"盾")
endfunction
function b takes integer i returns string
return LoadStr(ht,0,i)
endfunction
用全局变量数组的话
globle
string array label
globle
function main takes nothing returns nothing
set lable[1]="剑"
set lable[2]="盾"
endfunction
function c takes integer i returns string
return lable[i]
endfunction
这三种方法哪一种执行起来效果会更好一点?
|
|