LuaJava マニュアル から、 Javaメソッドを使用して Java から返されたプロキシ オブジェクトを操作する必要があるようです (オブジェクト指向の呼び出しには Lua のコロン構文を使用しますmy_proxy_array_list:get(5)
)。
配列からテーブルへの組み込みの変換については説明していないため、Java 配列からテーブルを構築する必要がある場合(たとえば、Lua のライブラリから関数を実行したいtable
場合)、反復する必要があります。 Array に対して (Java の知識を使用してそれを行う)、各 Array インデックスの値を対応するテーブル インデックスに入れます。
ただし、Lua テーブルのように機能するものが必要なだけの場合は、次のように、適切な Java メソッド (おそらく__index
および) に変換する関数を持つメタテーブルを使用して、Lua で何かを作成できます。__newindex
get
set
local wrap_lj_proxy; do
local proxy_mt = {}
function proxy_mt:__index(k)
return self.proxy:get(k)
end
function proxy_mt:__newindex(k,v)
return self.proxy:set(k,v)
end
function wrap_lj_proxy (proxy)
return setmetatable({proxy=proxy},proxy_mt)
end
end
上記を使用すると、ArrayList で呼び出しwrap_lj_proxy
て、index 演算子でインデックス付けできるオブジェクトを取得できます。
local indexable = wrap_lj_proxy(myAL)
print(indexable[5]) -- equivalent to myAL:get(5)