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



.



!



All Articles