Пока только начал читать, не утерпел и реализовал проверку апории про обгон черепахи на JavaScript. Получилось, что когда черепаха проползёт расстояние равное 112 шагам, Ахиллес пронесётся мимо и уже будет на 8 шагов впереди. :)
А вы считаете вовсе не то, что у Зенона написано. У вас черепаха сдвигается на условную 1, Ахиллес одновременно - на условные 10. Какое это имеет отношение к Зенону?
На самом деле читать трудно потому что функция format должна объявляться глобально. То что я перекодировал прогу в современном стиле это очень точно. Но проблема в том что в яваскрипте, даже самом совремненном, почему-то не стоит строгий запрет на функцию {}.map. Никто я думаю не станет отрицать что {a: a_value, b: b_value, c: c_value} с последующей .map(k,v => k + ':' + v + steps) выглядит куда понятнее чем (a + ": " + a_value + " steps, " ...). Хотя, если по-современному отождествлять читаемость с DRY, то есть противоположностью DRY, то да, текст совершенно не читаем. Кто может читать JPEG, например? Да никто. С другой стороны, распакованный bitmap прочтитать по пикселям -- пара пустяков. В этом по-видимому секрет, в долбанном DRY. Программисты вроде это уже осознали но пока ещё предлагают помнить о DRY вместе с напоминанием о том что предпочтение всё же должно отдаваться читаемости.
Сейчас единственный правильный браузер это Хром, а документация у Mozilla Firefox. Там вычитал что let вроде везде поддерживается, а вот до deconstructing assignment Microsoft не опустился.
> Согласен, map в объектах бы очень пригодился. Ну может завезут в будущем.
В JS7 обещали Object.entries(obj) который будет возвращать что-то типа нормального монадического Map, со всеми map и forEach.
Пока только начал читать, не утерпел и реализовал проверку апории про обгон черепахи на JavaScript. Получилось, что когда черепаха проползёт расстояние равное 112 шагам, Ахиллес пронесётся мимо и уже будет на 8 шагов впереди. :)
Возможно, я где-то прогнал ).
onload = function(){
var limit = 10000;
var turtle = 1000;
var Achilles = 0;
var fl_overtake = false;
while(limit--){
if(Achilles >= turtle){
fl_overtake = true;
break;
}
turtle++;
Achilles += 10;
}
if(fl_overtake) document.body.innerHTML = 'Achilles: ' + Achilles + ' steps, turtle: ' + (turtle - 1000) + ' steps, difference: ' + (Achilles - turtle) + ' steps';
}
Reply
Reply
Вроде понял, что хотел сказать Зенон, но вот зачем это, - для меня загадка.
Reply
Reply
for(
let [turtle, Achilles] = [1e3, 0];
turtle != 1e4;
turtle += 1, Achilles += 10
){
if(Achilles >= turtle){
var format = (results, f) => Object.keys(results).map(k => f(k, results[k])).join()
document.body.innerHTML = format({Achilles: Achilles, turtle: turtle - 1000, difference: Achilles - turtle}, (k,v) => `${k}: ${v} steps`)
break;
}
}
//if(fl_overtake) document.body.innerHTML = `Achilles: ${Achilles} steps, turtle: ${turtle - 1000} steps, difference: ${Achilles - turtle} steps`;
Reply
Reply
Reply
Reply
Reply
> Согласен, map в объектах бы очень пригодился. Ну может завезут в будущем.
В JS7 обещали Object.entries(obj) который будет возвращать что-то типа нормального монадического Map, со всеми map и forEach.
Reply
Leave a comment