-- .NETオブジェクトの ArrayList を使用するテスト
fn TestArray1 = (
-- .NET のArrayListオブジェクトを取得
arrayList = dotNetObject "System.Collections.ArrayList"
-- ArrayListに要素を追加
arrayList.Add("A")
arrayList.Add("BC")
arrayList.Add("D")
-- 配列の要素数を出力
format "arrayList.Count = %\n" arrayList.Count
-- format "%\n" arrayList[1] -- ERROR
str = arrayList.ToString()
format "str = %\n" str
item1 = arrayList.Item(1)
format "%\n" item1
for i = 0 to arrayList.Count - 1 do (
-- ↓ ERROR発生
-- format "arrayList[%] = %\n" i arrayList[i] -- ERROR
-- 指定したインデックスの要素を取得
item = arrayList.Item(i)
format "arrayList[%] = %\n" i item
)
-- arrayList.Item(1) = "bc"
item1 = arrayList.Item(1)
format "item1 = %\n" item1
for i = 0 to arrayList.Count - 1 do (
-- ↓ get_Item()が出力される
format "arrayList[%] = %\n" i arrayList.Item(i)
)
)
-- 配列とビット配列のテスト
fn TestArray2 = (
-- 空の配列を作成
a = #()
-- 配列に値を追加
append a 1
append a 2
format "a = %\n" a
-- 配列の要素を削除
deleteItem a 2
--deleteItem a 1
format "a = % a.count = %\n" a a.count
-- 空のビット配列を作成
b0 = #{}
b1 = #{}
--b0[0] = true -- ERROR インデックスは1から開始
b0[1] = false
b0[20] = true
b0[32] = true
b1[8] = true
format "b0 = % b0.count = %\n" b0 b0.count
format "b1 = % b1.count = %\n" b1 b1.count
b2 = b0 + b1 -- OR演算
b3 = b0 * b1 -- AND演算
format "b0 + b1 = %\n" b2
format "b0 * b1 = %\n" b3
b4 = -b1 -- ビットの反転
format "-b1 = %\n" b4
b1[20] = true
b5 = b0 - b1 -- 差
format "b0 - b1 = %\n" b5
b6 = #{1..7, 16}
format "b6 = % b6.numberSet = %\n" b6 b6.numberSet
)
TestArray2()
2012年3月20日火曜日
MAXScript 配列とビット配列
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿