Mover un valor de clave (LCC.kvdb.dict.move_value)
Declaración
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; nombre del diccionario de origen (no vacío, máximo256bytes) - src_key
Tipo string; nombre de la clave de origen (debe ser UTF-8 válido y no vacío) - dst_name
Tipo string, opcional; nombre del diccionario de destino, igual al de origen de forma predeterminada (no vacío, máximo256bytes) - dst_key
Tipo string, opcional; nombre de la clave de destino, igual a la de origen de forma predeterminada (debe ser UTF-8 válido y no vacío) - timeout
Tipo numérico, opcional; tiempo de espera de la solicitud (segundos), predeterminado60
Valores devueltos
- ok
Tipo booleano; devuelvetruesi el movimiento tiene éxito yfalsesi falla - old_value_or_err
Tipo string onil; si tiene éxito, es el valor anterior de la posición de destino (nilsi no existía); si falla, normalmente contiene la descripción del error; si la clave de origen no existe, el segundo valor devuelto no tiene un texto fijo garantizado
Descripción
Mueve atómicamente la clave del diccionario de origen al de destino.
Si el origen y el destino, incluida la clave, son idénticos, la función lanza un error.
Si tiene éxito pero antes no había ningún valor en el destino, devuelvetrue, nil.
Si no se encuentra la clave de origen, devuelvefalse; el segundo valor devuelto no tiene un texto fijo garantizado.
Ejemplo
local ok, old = LCC.kvdb.dict.move_value("待处理", "task#1", "进行中", "task#1")
if not ok then
error(old)
end