d.addEventListener('click', e => {
if(e.target.id === 'rubbish') {
let id = e.target.dataset.id // значение из data-id
console.log('click', id, e.target);
app.UserBook.removeEntry(id); // передаем в метод
}
},false);
removeEntry(id) {
this.items.splice(id, 1) // удаляем
this.save();
this.load();
}
Permission deniedнет прав на кукую-то папку или файл, там у вас в ошибке указано на что именно.
Сам себя на диске ты не сможешь подменить.Генерируешь временный новый экзешник, запускаешь, завершаешь работу, новый экзешник вносит изменения, запускает основной, завершает свою работу, основной процесс убивает этот временный.
Линукс изначально был сделан как очень гибкая система, и что самое главное имел шикарные средства конфигурирования в командной строке. Там можно работать без GUI вообще, более того все основные приятности там как раз не в GUI.
А для этого нужно уметь работать в командной строке - не умеешь, в линуксе делать особо нечего, он ничем не лучше винды, а во многом и хуже окажется.
Т.е я пробовал сразу выводить $statИ чем вас не устроил результат?
/* destructively finds the intersection of
* two arrays in a simple fashion.
*
* PARAMS
* a - first array, must already be sorted
* b - second array, must already be sorted
*
* NOTES
* State of input arrays is undefined when
* the function returns. They should be
* (prolly) be dumped.
*
* Should have O(n) operations, where n is
* n = MIN(a.length, b.length)
*/
function intersection_destructive(a, b)
{
var result = [];
while( a.length > 0 && b.length > 0 )
{
if (a[0] < b[0] ){ a.shift(); }
else if (a[0] > b[0] ){ b.shift(); }
else /* they're equal */
{
result.push(a.shift());
b.shift();
}
}
return result;
}