Re: [心得] 天賦技能巨集

看板WOW作者 (AIR劇本檔提供中 請Q我)時間11年前 (2013/01/08 02:25), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串4/4 (看更多)
※ 引述《scorpio0920 (Francis)》之銘言: 這段有些地方看不太懂,試注釋如下,求解答。感謝! : NGA 上面看來的,你試試看。 : #showtooltips : /cast 神聖稜石 : /cast 聖光之錘 : /cast 死刑宣判 : /run local m,f=function() SetMacroSpell("LV90", GetSpellInfo ("神聖稜石") or " : 聖光之錘" or "死刑宣判") end f=TgS or CreateFrame("Frame","TgS") : f:SetScript("OnEvent",m) f:RegisterEvent("SPELLS_CHANGED") m() local m,f=function() SetMacroSpell("LV90", GetSpellInfo ("甲") or "乙" or "丙") end --此時 m() == SetMacroSpell("LV90", GetSpellInfo ("甲") or "乙" or "丙") --但 f 代表什麼意思?這時候 f 的值似乎還是 nil? f=TgS or CreateFrame("Frame","TgS") --if TgS==false then f=CreateFrame("Frame","Tgs") else f=TgS --由於 TgS 此時還是 nil 所以相當於 f=CreateFrame("Frame","TgS") f:SetScript("OnEvent",m) --CreateFrame("Frame","TgS"):SetScript("OnEvent",m) 事件發生時執行 m --但為什麼不是 m() 而是 m ? f:RegisterEvent("SPELLS_CHANGED") --剛才已經產生了名為 TgS 的 frame,所以現在 TgS~=nil 且 f==TgS 對嗎? --註冊事件 SPELLS_CHANGED 給 TgS m() --執行 m() 基礎不好,問的點應該都是一些習慣用法。先謝過了。 -- 使用者名稱 檔案 速度 已傳輸 已等待 上載時間 狀態 正人君子 [夜勤病棟][Night.. 586位.. 624.34k 53.36分 9:24分 傳輸中 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.70.151.195

01/08 03:29, , 1F
f=xx 是縮寫, 讓之後需要用到 function() 的都用 f 代替
01/08 03:29, 1F

01/08 06:58, , 2F
如果單純寫一行f=function的話是這樣沒錯,但此例應該不是
01/08 06:58, 2F

01/08 06:59, , 3F
吧?我用lua互動模式確認過,定義完m之後f的值確實還是nil
01/08 06:59, 3F
文章代碼(AID): #1GwnCQu5 (WOW)
文章代碼(AID): #1GwnCQu5 (WOW)