单机的mudlib代码也看了不少了,很多语句已经能猜出是什么意思了,但看得多了又会出现新的疑问,有时绕来绕去很难绕明白啊- -
几个疑问:
1、return
看见过几种写法:return 0,return 1,return(return notify_fail()相当于return 0)。return 0返回假,表示条件不满足;return 1表示满足条件,然后return之后同一个{}里面return之后的语句就不往下执行了。以上我的理解应该没错吧?
但是有时会看见return什么也不接的写法,这个直接return是什么意思?返回的是0、1还是什么也不返回?而且我好想在哪里看见过有说return 1也表示什么也不返回的?糊涂了……
2、random
结合代码发现random(n)的取值应该是在0~(n-1)之间。但是代码里经常看见random(1)把我又弄得凌乱了,random(1)和0有什么区别么?
3、ob、target、me等
知道mudos函数有this_object()和this_player()。用ob和me取代这两个函数时一般要先给ob和me赋这两个值,写成me=this_play()之类的。但是我看的代码里有的没找到赋值的语句,执行也不出错。而我自己添加的me和ob如果不赋值(或者应该叫定义?)就会报错。搞不清楚ob和me到底需不需要赋值?什么情况下可以不赋值直接用?
几个疑问:
1、return
看见过几种写法:return 0,return 1,return(return notify_fail()相当于return 0)。return 0返回假,表示条件不满足;return 1表示满足条件,然后return之后同一个{}里面return之后的语句就不往下执行了。以上我的理解应该没错吧?
但是有时会看见return什么也不接的写法,这个直接return是什么意思?返回的是0、1还是什么也不返回?而且我好想在哪里看见过有说return 1也表示什么也不返回的?糊涂了……
2、random
结合代码发现random(n)的取值应该是在0~(n-1)之间。但是代码里经常看见random(1)把我又弄得凌乱了,random(1)和0有什么区别么?
3、ob、target、me等
知道mudos函数有this_object()和this_player()。用ob和me取代这两个函数时一般要先给ob和me赋这两个值,写成me=this_play()之类的。但是我看的代码里有的没找到赋值的语句,执行也不出错。而我自己添加的me和ob如果不赋值(或者应该叫定义?)就会报错。搞不清楚ob和me到底需不需要赋值?什么情况下可以不赋值直接用?