при вызове команды все обнуляется, но все же
id
самого свежего проверенного поста на каждой из стен. Чтобы потом проверять до него, при необходимости проверив глубже, чем на 100 постов.f( "a.goal", x)
x
, а x.a
:var x = {
a: {
goal: 1,
b: 2,
},
c: 3
};
function f(value, chain) {
if(chain.length === 0) return value;
const propsArray = chain.split('.'); // "a.goal" => ["a", "goal"]
const property = propsArray[0];
if(!value.hasOwnProperty(property)) return; // несуществующее свойство
return f(value[property], propsArray.slice(1).join('.')); // вызыв функцией самой себя
// но цепочка свойств короче на 1 элемент – самый левый отрезали
}
console.log( "Result:", f(x, 'a.goal')); // 1
diff -q file1 file2
if [ -z "$(diff -q file1 file2)" ]; then
echo "Одинаковые"
else
echo "Они такие разные!"
fi
cmp
: она сравнивает файлы побайтово и выходит со статусом 0, если файлы идентичны; 1 если различаются; 2 если произошла ошибка. Можно примерно так её использовать в скрипте:if cmp -s file1 file2 ; then
echo "Одинаковые"
else
echo "Они такие разные!"
fi
from.id
– по нему идентифицируется диалог и берется его состояние.hash('sha256', file_get_contents($filepath))
const today = new Date(); // сегодня, сейчас. 22 сентября
const tomorrow = new Date();
tomorrow.setDate( tomorrow.getDate() + 1); // +1 день, 23 сентября, это же время.
const plus13days = new Date();
plus13days.setDate( plus13days.getDate() + 13); // +13 дней, 5 октября
const filteredArray = array.filter( el => el.id.substring(0,3) === '051' )
$a
и посмотреть ; )echo
вы напишете запятую, то назначение $b
выполнится только в случае истинности условия в if
:$a = false;
if ($a) echo "не пусто"; $b = 1; // назначение $b выполнится всегда
if ($a) echo "не пусто", $b = 1; // назначение $b выполнится только при истинности $a
// второй вариант плохой, не делайте так. Результат $b = 1 передается как аргумент в echo
// лучше использовать фигурные скобки:
if ($a) {
echo "не пусто";
$b = 10;
}
// в скобках лучше читается
Рейтинг = Нижняя граница доверительного интервала Вильсона (Wilson) для параметра Бернулли
json_decode()
, если json файл окажется слишком большим.\d
– одна цифра(\d)
– одна цифра, и мы её запомнили, чтобы потом вывести через $1, $2, ... $8\s
– один пробельный символ\s?
– один пробельный символ, но если его нет - тоже ок\-
– один символ дефиса (тоже надо экранировать)\-?
– один символ дефиса, если его нет, то и ладно.var re = /(\d)\s?(\d)\s?(\d)\s?(\d)\s?\-?\s?(\d)\s?(\d)\s?(\d)\s?(\d)/;
var tests = [
'1600 1800', // 16:00 - 18:00
'16001800', // 16:00 - 18:00
'abc def 16001800 geh', // abc def 16:00 - 18:00 geh
'zzzz16001800zzz' // zzzz16:00 - 18:00zzz
];
tests.map(e => e.replace(re, '$1$2:$3$4 - $5$6:$7$8'))
+7 495 5554321
сделает +74:95 - 55:54321
Math.round(20 / 3) === 7 // 7 занесли в массив результата
20 - 7 = 13
// далее повторяем с 13 и делим уже на 3 - 1 === 2
Math.round(13 / 2) === 7 // 7 идёт в результат
13 - 7 === 6
// далее повторяем с 6 и делить надо бы на 2 - 1 === 1
// т.е. осталось одно число в результат. Просто вписываем туда остаток 6
0.137456
?function split(n, divisor, q, result) {
q = q || 1;
result = result || [];
const m = q * Math.round(n / divisor / q);
result.push(m);
n -= m;
if( --divisor > 1) return split(n, divisor, q, result);
else {
result.push(n);
return result.sort((a,b) => a - b); // сортировка по возрастанию, на всякий случай
}
}
split(20, 3) // [6, 7, 7]
split(20, 3, 0.1) // [6.6000000000000005, 6.7, 6.7]
split(27.8, 4, 0.1) // [6.9, 6.9, 7, 7]