Passer au contenu principal

Déplacer une valeur clé-valeur (LCC.kvdb.dict.move_value)

Déclaration​

ok, old_value_or_err = LCC.kvdb.dict.move_value(src_name, src_key, dst_name?, dst_key?, timeout?)

Paramètres​

  • src_name
    Type chaîne, nom du dictionnaire source (non vide, 256 octets au maximum)
  • src_key
    Type chaîne, nom de la clé source (UTF-8 valide et non vide)
  • dst_name
    Type chaîne, facultatif ; nom du dictionnaire cible, identique à la source par défaut (non vide, 256 octets au maximum)
  • dst_key
    Type chaîne, facultatif ; nom de la clé cible, identique à la clé source par défaut (UTF-8 valide et non vide)
  • timeout
    Type numérique, facultatif ; délai d'attente de la demande en secondes, 60 par défaut

Valeurs de retour​

  • ok
    Type booléen ; renvoie true si le déplacement réussit et false dans le cas contraire
  • old_value_or_err
    Type chaîne ou nil ; en cas de succès, ancienne valeur à l'emplacement cible (nil s'il n'y en avait pas), et généralement une description de l'erreur en cas d'échec ; si la clé source n'existe pas, le texte du second retour n'est pas garanti

Description​

Déplace atomiquement la clé du dictionnaire source vers le dictionnaire cible.
Si le dictionnaire et le nom de clé source et cible sont identiques, la fonction lève une erreur.
En cas de succès et si la cible n'avait pas de valeur, renvoie true, nil.
Si la clé source est introuvable, renvoie false ; le second retour n'est pas garanti comme texte fixe.

Exemple​

local ok, old = LCC.kvdb.dict.move_value("待处理", "task#1", "进行中", "task#1")
if not ok then
error(old)
end