zoukankan      html  css  js  c++  java
  • Immediately-Invoked Puzzler

     

    The Poplar Puzzle-makers weren’t too impressed. They barely noticed your simple and beautiful array of functions, and were only sort of “meh” on the usage of the array as a queue. But now, they’ve sent you a puzzle, complete with a new set of functions to use on that puzzle. So, to display your overwhelming array and function expression mastery, alert the answer to the following question.

    “What is obtained when the result of passing 9 into function 4 is then passed into the function whose array index matches the result of passing 3 into function 2?”

    var puzzlers = [
      function ( a ) { return 8*a - 10; }, 
      function ( a ) { return (a-3) * (a-3) * (a-3); }, 
      function ( a ) { return a * a + 4; },
      function ( a ) { return a % 5; }
    ];
    

    To really impress the puzzle builders, the expression used in your alert should:

    1. Involve no manual calculation or hard-coded math on your part.
    2. Use indices of arrays to access functions.
    3. Use parentheses to pass in parameters to immediately-invoking functions.
    4. Use just one line of code.
    var puzzlers = [
      function ( a ) { return 8*a - 10; }, 
      function ( a ) { return (a-3) * (a-3) * (a-3); }, 
      function ( a ) { return a * a + 4; },
      function ( a ) { return a % 5; }
    ];
    
    alert((puzzlers[(puzzlers[1])(3)])((puzzlers[3])(9)));
  • 相关阅读:
    关于Android线程间通信
    关于代码重构
    Android读书笔记01
    回忆 2012年写的
    我的笑 -- 2007年写的?
    伊人笑 2010年
    血色青春 2012年
    隔夜听雨
    错乱的爱 2010年
    【前端JS、后台C#】编码解码。
  • 原文地址:https://www.cnblogs.com/Answer1215/p/3887470.html
Copyright © 2011-2022 走看看