«Пока мы не придумаем, как по-настоящему нужно разрабатывать софт, выходом может быть создание динамических систем с экстремально поздним связыванием во всех его проявлениях».
«Позднее связывание позволяет воплощать идеи на поздних стадиях разработки с экспоненциально меньшими усилиями чем традиционное раннее связывание как в C, С++, Java и прочих похожих языках»
«Если вы используете язык с ранним связыванием, как делает большинство людей, вместо языка с поздним связыванием, вы окажетесь взаперти у проделанной работы. Переформулировать что-то будет уже непросто»
«Я не против типов, но я не знаю ни одной системы с типами, которая бы не вызвала мучений, так что я по-прежнему за динамическую типизацию»
«Я думал об объектах как о живых клетках или как об отдельных компьютерах в сети, которые обмениваются сообщениями... Я жалею, что придумал термин «объекты» много лет назад, потому что он заставляет людей концентрироваться на мелких идеях. По-настоящему большая идея — это сообщения... Объектно-ориентированное программирование для меня означает только отправку сообщений, локальное удержание и защиту, а также скрытие состояний-процессов, и экстремально позднее связывание всего»
const foo = (arg: number) => { /* do something with number type */ };
var node = this; // в ноду кладем текущий элемент Element;
// начинаем примерять селектор, двигаясь от текущего элемента к его родителям
while (node) // пока есть элемент (не null) (или на предыдущей итерации провалили матч и есть родитель)
{
if (node.matches(css)) // подходит селектор элементу ?
return node; // возвращаем этот элемент, цикл останавливается
else
node = node.parentElement; // не подошло, устанавливаем на node родительский элемент, идем на следующую итерацию.
}
return null; // цикл прошелся по всем родителям - ничего не нашли
Element.prototype.closest = function (css)
Element.prototype.matches = Element.prototype.matchesSelector || <подставьте любой метод, чтобы делал матч, но назывался не как у всех>
// Функция проверки вхождения текущего часа в отрезов от from до to (не включительно)
function isHourRange(from, to) {
var now = new Date();
var curHour = now.getHours();
return curHour >= from && curHour < to;
}
if(isHourRange(0, 9)) {
$('.ageWindow').fadeIn(100);
}
// main.js
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin
});
rl.on('line', function(line){
console.log(line.toUpperCase());
});
rl.on('end', function(){
process.exit(0);
});
cat some.file.txt | node main.js