JSプログラミングコンテスト:メールフィルター

更新: コンテスト結果が公開されました。

Holaは、賞金プールが充実したJSプログラミングコンテストを再び発表します。

  1. 1位:1500 USD
  2. 2位:1000 USD
  3. 3位:500 USD
  4. おそらく、誰かの非常に独創的なソリューションを350 USDの特別賞でマークすることにします。
  5. CCにアドレスを入力してこのコンテストへのリンクを誰かに送信し、その人が賞品を受け取った場合、あなたは彼と同じ金額を受け取ります。

才能のあるプログラマを探しているので、興味深いソリューションの作者をインタビューに招待します。



ルール


以前のコンテストを覚えている人の中には、タスクの条件が明確に定まっていないことに不満を抱いており、参加者は私たちが考えていたものを「推測」する必要がありました。 今回は、条件が非常に一意に定式化され、参加者が自由に解決策の参照実装となります。 勝者は、コードが最速であり、正確性のテストに合格することを条件とするものです。

英語でのコンテストの条件は、 当社のウェブサイトでご覧いただけます。 以下はロシア語への翻訳です。


問題の声明


メールシステム用のフィルターアプリケーションシステムを開発しています。 1つの関数をエクスポートするNode.jsのモジュールを作成する必要があります。

filter(messages, rules)


ASCII 0x20 0x7F .

, , from to , . ; * (0 ) , ? — . from to , *. , from to, .

, , . filter , . action , , rules. , .


filter:

filter({
    msg1: {from: 'jack@example.com', to: 'jill@example.org'},
    msg2: {from: 'noreply@spam.com', to: 'jill@example.org'},
    msg3: {from: 'boss@work.com', to: 'jack@example.com'}
}, [
    {from: '*@work.com', action: 'tag work'},
    {from: '*@spam.com', action: 'tag spam'},
    {from: 'jack@example.com', to: 'jill@example.org', action: 'folder jack'},
    {to: 'jill@example.org', action: 'forward to jill@elsewhere.com'}
])


filter :

{
    msg1: ['folder jack', 'forward to jill@elsewhere.com'],
    msg2: ['tag spam', 'forward to jill@elsewhere.com'],
    msg3: ['tag work']
}



filter http://hola.org/challenge_mail_filter/reference. . ( ). , , . , , , .

, 10 10 . .

HTTP- POST application/json. : messages rules, — filter. , JSON, , . HTTP 400 text/plain.

!

Source: https://habr.com/ru/post/J270847/


All Articles