2013-11-28 43 views
3

我要取代這個命令:HMGET與盧阿 - resty,Redis的一個數組

red:hmget('item', 'item:1', 'item:2') 

的東西,如:

local test = {'item:1', 'item:2'} 
red:hmget('item', test) 

但是,我得到一個錯誤(string expected, got table)當我嘗試這個。我如何在Lua中爲Redis格式化?

回答

5

根據您使用的是哪個版本的Lua,您需要使用unpack

  • Lua 5.1red:hmget('item', unpack(test))
  • Lua 5.2red:hmget('item', table.unpack(test))

unpack是如果你使用它像一組參數,其中揭開陣列式表的功能。它與您可能在其他語言中找到的splat運算符有些相似。

> =unpack{'item:1', 'item:2'} 
item:1 item:2 
+0

啊哈,謝謝!我不確定那是什麼。 – arby