mud_sanc 板


LINE

string * 與 mixed 資料型態的部份其實大家大概都會用了,聖殿早期用到陣列時多半  是用 string * 或 int * 這樣的宣告方式,例如.. string *a; int *b; a=({"1","2",...}) b=({1,2,3,...}) 但現在多用 mixed。但 mixed 依據其字義是混合,意思就是說它  是混合的型態─自然也可以用陣列。  例如假設玩家身上有個儲存格叫 xxx,我們不知道 query 過來的  東西是啥,想去判斷時... mixed da=ppl->query("xxx"); 這樣的寫法就適用於 query 回來的東西「不管是啥,da 都可以 存」,然後再做底下的簡易分類... if(stringp(da)) return "da 是一個字串"; else if(intp(da)) return "da 是一個整數"; else if(mapp(da)) return "da 是一個 mapping"; else if(objectp(da)) return "da 是一個物件"; else if(arrayp(da)) return "da 是一個陣列"; (所以絕對不會有 mixedp 這樣的鬼東西) member_array 這個很好用,但 wiz 似乎很少用,它是用來判斷一個元素有沒  有存在於一個陣列裡頭,有的話傳回所在位置,沒有的話就傳回  -1 mixed str_array = ({"abc","de","fghi"}); if(member_array("abc",str_array)!=-1) return "abc 這個字串有在 str_array 這個陣列中 (ㄟ,我想起來了,之前的 wiz test 好像有一題這個) 前編譯器  作者花了一整個章節講這個。各位只要記哪些是常見的就可.. #define (大家都會用) #undefine (沒記錯的話 #undef 好像也可) #include (大家都會用) #ifdef #ifndef #if #elseif #else #endif #pragma #define 跟 #undef 我有用在某個區域,原先區域內的房間  都是繼承 ROOM,然後都 #include 同一個 .h 檔。  某一天我突然不想讓它們繼承 ROOM,我希望它們繼承別的,  但我又不希望去改房間的檔案時,簡易的做法就是在 .h 檔  中這樣子寫... #include <mudlib.h> // 這時 ROOM 也被 include 進來 #undef ROOM #define ROOM __DIR__+"my_room.c" 這樣全房間繼承到的 ROOM 實際上就會指向 my_room.c 了 再舉個例子,例如我用 LOTTE_OPEN = 1 來定義現在可以賭  大樂透.. #define LOTTE_OPEN 1 那假設我希望我只要把這行砍掉 or // 掉,就可以達到讓  整個大樂透系統處於無法簽注的情況時,假設底下是簽注函  數.. int bet_xxx(string str) { #ifudef LOTTE_OPEN write("你現在不能簽阿樂喔!!\n"); return 1; #endif write("你現在可以簽阿樂.\n"); return 1; } 它的意思就是說如果我有 #define LOTTE_OPEN 這個東西時 才可以簽,沒有 #define (#ifundef) 就不能簽。 (#ifdef 是類似的用法) 而它叫做「前譯處理」,想簡單一點......就是系統會預先  做的事情,例如你在 update 一個東西時,用 # 去定義的東  西它就會先去處理,大概是這個意思。 文章裡有舉到一些範例,就可以看看。 Laechan --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.228.153







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP