各位有讀過三角函數 -- sin,cos,tan -- 吧,他們都是將一個角度轉成長度比例。 若果我知道了一個長度比例,想知道它的角度是什麼,就要把三角函數反轉,變成 arc-sin, arc-cos, arc-tan,即是反函數。 而變數就是一組文字(變數名稱)轉成它的賦值(變數內容),那麼,若果我知道了一個賦值,怎麼取回它的名稱呢?且看下文。 在三角函數中,姑且拿sin作比喻吧 如果sin(a)=b 我們就知arcsin(b)=a 現在我們看看就以怎應用在變數上吧 這兒有堆變數,他們的名稱都是用英文的數字,賦值是對應數字,即是這樣 one=1 two=2 three=3 etc... 如果我們知道一個賦值,怎樣反存取他們的變數名稱呢? 我們不妨直接搬來上面的數學槪念 arc1='one' //''中的是字串 arc2='two' arc3='three' etc... 現在我們就可以這樣反向存取變數了 arc{數值} 如果數值是3,我們便會得出'three';2就會輸出'two' 那這招有啥用的呢? 這可以拿來弄玩家陣列 如果編輯群去玩遊戲 p1=LC.FK;p2=LC.AsshoIe;p3=LC.egg;p4=LC.dragon 作者不想用{p}.xxx的格式(物件)去儲存他們的資料,想用 xxx.{n}去存 (n是玩家編號 1~4,這種格式叫陣列) 他要怎樣在知道玩家代碼(LC.xxx)下得到玩家編號,n(1至4)這個值呢 他要先定義LC.xxx.playerno=n,再把他所知道的玩家代碼套進去: {p1}.playerno=1 {p2}.playerno=2 {p3}.playerno=3 之後我們設 p=LC.xxx //unknown player id .'.n={p}.playerno 這還可以拿來弄地圖 let location=x,y arc.{location}='location' //arc.x,y='location' |
變數 >