J'ai une fonction qui retourne un hachage, étant donné certains paramètres:Construire un hachage dans une fonction
build_message = function(from, to, bcc, subject, tag, htmlbody, textbody, replyto) {
message = {"From": from,
"To": to,
"Subject": subject,
"HtmlBody": htmlbody,
"TextBody": textbody};
message.encode();
}
Certains de ces paramètres, comme bcc
et replyto
sont facultatifs. Si l'appelant fournit des valeurs nulles pour eux, ils ne doivent pas être présents dans le hachage que je retourne. C'est-à-dire que "Bcc": bcc
ne doit être présent dans le hachage que si l'argument bcc
est non nul.
Voici ma première tentative, mais l'analyseur ne l'aime pas (cela va juste avant la ligne message.encode()
de la fonction):
bcc_body = bcc => {"Bcc": bcc} | {};
message.put(bcc_body);
utilise le fonctionnement put()
autorisé sur une variable dans une fonction comme ça? Si oui, est-ce que quelque chose ne va pas avec ma syntaxe?
Puis-je les enchaîner? Par exemple: 'newmessage = message.put (premier_hash) .put (second_hash) .put (third_hash);' –
oui, le chaînage fonctionne. rappelez-vous que vous pouvez aussi mettre une expression qui résout en un hachage au lieu d'un hachage lui-même: newmessage = message.put (bcc => {"Bcc": bcc} | {}); – TelegramSam