Redis(キー値ストア)はluaスクリプトをサポートしています。これはサーバー上でスクリプトを実行します。私はJavaクライアントを使ってRedisと対話しています。私はバイト配列をluaとluaに渡していますが、それをintまたはstringに変換する必要があります。luaでバイト配列をdoubleに変換する
は、以下の型バイトのArrayListの[]
後、私は
byteScore = table.remove(ARGV)
size = string.len(byteScore)
x = string.sub(byteScore,1,1)
local output = 0
for i = 1,size do
bit = tonumber(string.sub(byteScore,i,1))
val2 = bit * (2^i)
output = output + val2
end
return output
ARGVを試みLUAスクリプトはJavaコードスニペット
byte[] exclScore = ByteBuffer.allocate(8).putDouble(1.5).array();
args.add(exclScore);
引数されるテーブルでありますJavaクライアントによって送信されたすべての引数を受け取り、スコアは最後のエントリです。私は型(byteScore)をチェックし、文字列であることが判明しました。私がこのバイト配列をluaのdouble(1.5)のdoubleまたはstring表現に変換することはできますか? redisスクリプト内では、外部のluaライブラリを使用することはできません。
何か助けていただければ幸いです。前もって感謝します。
(LUA外のデータを消毒)最良の選択肢であると考えられること。ありがとうございました。 – Raghava