如果有任何問題歡迎討論.
個人不知道該怎麼翻assignment跟index比較好,
不過如果你研究過腳本應該不會不懂他的意思
如果需要特別解釋也歡迎提出.
原文連結
========================
設定一個陣列如果不太正確,那麼做設定可能會變的既麻煩又單調.這裡教你一些設定陣列的好方法.
inv_num = 0;
inv_item[inv_num] = "item 1"; inv_num += 1;
inv_item[inv_num] = "item 2"; inv_num += 1;
inv_item[inv_num] = "item 3"; inv_num += 1;
inv_item[inv_num] = "item 4"; inv_num += 1;
inv_item[inv_num] = "item 5"; inv_num += 1;
用上面這段代碼跑出來的結果跟下面差不多:
inv_item[0] = "item 1";
inv_item[1] = "item 2";
inv_item[2] = "item 3";
inv_item[3] = "item 4";
inv_item[4] = "item 5";
不過呢,用第一個方法其實比起第二個有著許多優點.首先,"inv_num"這個變數可以用某些方法自動去計算他,省下你手動去設定它的時間.再來第一個方法也比較彈性,舉例來說,如果你想要在第二段方法插入一個新的行列的話,你必須去逐行修改全部的陣列index.用第一個方法可以一次全部插入.最後一個優點是你可以花比較少的時間去修改,你只要這樣:
inv_item[inv_num] = "item 2"; inv_num += 1;
然後不停的複製貼上變成如下:
inv_item[inv_num] = "item 2"; inv_num += 1;
inv_item[inv_num] = "item 2"; inv_num += 1;
inv_item[inv_num] = "item 2"; inv_num += 1;
inv_item[inv_num] = "item 2"; inv_num += 1;
那你剩下的工作就只有修改這些陣列的assignment value了,但是你用第二個方法的話,必須一個個的改他們的index.
Note: The array index starts at 0. A lot of people start indexes off at 1, but it is generally better coding practice to start indexes off for things like this at 0 so it is consistent with other things.
如果你想玩二維陣列,也可以用這個方法.
x_ind = 0; y_ind = 0;
inv_item[x_ind, y_ind] = "item 1"; y_ind += 1;
inv_item[x_ind, y_ind] = "item 2"; y_ind += 1;
inv_item[x_ind, y_ind] = "item 3"; y_ind += 1;
x_ind += 1; y_ind = 0;
inv_item[x_ind, y_ind] = "item 4"; y_ind += 1;
inv_item[x_ind, y_ind] = "item 5"; y_ind += 1;
inv_item[x_ind, y_ind] = "item 6"; y_ind += 1;
x_ind += 1; y_ind = 0;
inv_item[x_ind, y_ind] = "item 7"; y_ind += 1;
inv_item[x_ind, y_ind] = "item 8"; y_ind += 1;
inv_item[x_ind, y_ind] = "item 9"; y_ind += 1;
x_ind += 1;
- guide written by flexaplex -