Mover um par de chave-valor (LCC.kvdb.dict.move_value)
Declaração
ok, old_value_or_err = LCC.kvdb.dict.move_value(src_name, src_key, dst_name?, dst_key?, timeout?)
Parâmetros
- src_name
Tipo string; nome do dicionário de origem (não vazio, no máximo256bytes) - src_key
Tipo string; nome da chave de origem (UTF-8 válido e não vazio) - dst_name
Tipo string, opcional; nome do dicionário de destino, por padrão igual ao de origem (não vazio, no máximo256bytes) - dst_key
Tipo string, opcional; nome da chave de destino, por padrão igual ao da chave de origem (UTF-8 válido e não vazio) - timeout
Tipo number, opcional; tempo limite da solicitação (em segundos), padrão60
Valor de retorno
- ok
Tipo boolean; retornatruequando a movimentação tem sucesso efalsequando falha - old_value_or_err
Tipo string ounil; em caso de sucesso, valor original no destino (nilse não existir); em caso de falha, normalmente a descrição do erro. Se a chave de origem não existir, a segunda saída não tem uma mensagem fixa garantida
Descrição
Migra atomicamente a chave do dicionário de origem para o dicionário de destino.
Se a origem e o destino forem iguais e os nomes das chaves coincidirem, a função lançará um erro.
Quando tem sucesso e o destino não tinha valor, retornatrue, nil.
Se a chave de origem não for encontrada, retornafalse; a segunda saída não tem uma mensagem fixa garantida.
Exemplo
local ok, old = LCC.kvdb.dict.move_value("待处理", "task#1", "进行中", "task#1")
if not ok then
error(old)
end