Польская нотация и arrow-функции
Apr. 28th, 2015 04:59 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
C целью “потрогать” arrow-функции в ES6 написал вот парсер выражений в польской нотации, простенький. Работает в консоли FireFox или в io.js, больше нигде не работает.
var polish = (function () { var ops = "+-/*".split("").reduce((a,b)=>(a[b]=Function("x","return x[0]=x.shift()"+b+"x[0],x"),a),{}); return (s)=>s.split(/\s+/).reduce((a,b)=>(ops[b]?ops[b](a):!isNaN(b)&&b!=''?(a.unshift(+b),a):a),[]); })();
polish ("10 1 2 3 + + *") напишет [60].
Пожалуй, я уже хочу стрелки в js. До этого как-то они мне не родными для js казались – ну и зря.
no subject
Date: 2015-04-28 10:10 am (UTC)no subject
Date: 2015-04-28 12:28 pm (UTC)