3

特定のパラメーターを指定して、ハッシュを返す関数があります。

build_message = function(from, to, bcc, subject, tag, htmlbody, textbody, replyto) {
    message = {"From": from,
        "To": to,
        "Subject": subject,
        "HtmlBody": htmlbody,
        "TextBody": textbody};
    message.encode();
}

bccやなどのこれらのパラメーターの一部replytoはオプションです。呼び出し元が null 値を提供する場合、返されるハッシュにそれらが存在してはなりません。つまり、引数が null でない"Bcc": bcc場合にのみ、ハッシュに存在する必要があります。bcc

これは私の最初の試みですが、パーサーはそれを好きではありません (これはmessage.encode()関数の行の直前にあります):

bcc_body = bcc => {"Bcc": bcc} | {};
message.put(bcc_body);

put()このような関数内の変数に対して許可されている操作を使用していますか? もしそうなら、私の構文に何か問題がありますか?

4

1 に答える 1

2

関数内で使用できます.put()が、新しいハッシュを返し、元のハッシュは変更されないことに注意してください。

次のようにメソッドを終了してみてください。

bcc_body = bcc => {"Bcc": bcc} | {};
newmessage = message.put(bcc_body);
newmessage.encode();
于 2011-04-04T23:47:46.337 に答える