Сохранен 71
https://2ch.hk/b/res/217783335.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 14/04/20 Втр 04:39:45 #1 №217783335 
image.png
Кто-нибудь может мне объяснить, нахуя в JS нужна постфиксная форма i++ / i--, которая меняет значение переменной, но оставляет предыдущее?
Аноним 14/04/20 Втр 04:40:35 #2 №217783350 
Бамп
Аноним 14/04/20 Втр 04:41:14 #3 №217783363 
Бамп
sageАноним 14/04/20 Втр 04:41:23 #4 №217783364 
Затем.
Аноним 14/04/20 Втр 04:42:00 #5 №217783378 
>>217783364
Зачем?
Аноним 14/04/20 Втр 04:43:53 #6 №217783415 
>>217783335 (OP)
В смысле оставляет предыдущее?
Аноним 14/04/20 Втр 04:44:41 #7 №217783430 
>>217783335 (OP)
Студент программист си++ в тренде, поясни как понять оставляет
преведущие ? Я не шарю за этот говноязык
Аноним 14/04/20 Втр 04:45:42 #8 №217783452 
>>217783430
Да он попутал чето. i++ это то же что и i = i + 1
Аноним 14/04/20 Втр 04:46:52 #9 №217783473 
image.png
>>217783415
>>217783430
Ну вот это ебать
Аноним 14/04/20 Втр 04:47:00 #10 №217783477 
>>217783335 (OP)
Автор говна поел
Аноним 14/04/20 Втр 04:47:48 #11 №217783500 
>>217783430
Тред любителей анальных развлечений двумя досками ниже.
Аноним 14/04/20 Втр 04:49:03 #12 №217783520 
>>217783473
Типа зачем делать i++ и приравнивать к переменной ?
Аноним 14/04/20 Втр 04:49:12 #13 №217783526 
>>217783477
До этого момента было вкусно
Аноним 14/04/20 Втр 04:50:19 #14 №217783543 
>>217783520
Типа зачем "++" в конце ставить, если всё равно ничего не меняется
Аноним 14/04/20 Втр 04:50:32 #15 №217783549 
>>217783473
Мне лень тебе расписывать. Напряги извилины.
Аноним 14/04/20 Втр 04:51:14 #16 №217783560 
>>217783549
Ну пожалуйста
Аноним 14/04/20 Втр 04:51:47 #17 №217783578 
>>217783335 (OP)
Вот для этого

for(let x = 0; х > 1; x++) {
console.log(x--);
}

/тред
Аноним 14/04/20 Втр 04:52:17 #18 №217783593 
>>217783543
чтобы не писать
int i = 5;
int j = i;
i++;
А написать j=i++
Зависит от задачи
Аноним 14/04/20 Втр 04:54:27 #19 №217783634 
>>217783593
Так значение не меняется, посмотри на комментарии
Аноним 14/04/20 Втр 04:55:31 #20 №217783666 
>>217783634
Значение переменной над которой проходит итерация меняется
в чем проблема
Аноним 14/04/20 Втр 04:56:56 #21 №217783697 
>>217783666
Так я его приравниваю к другой переменной, и она берёт предыдущее значение первой переменной. Я не могу понять, нахуя это надо
Аноним 14/04/20 Втр 04:57:48 #22 №217783714 
>>217783697
http://lurkmore.to/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4
Аноним 14/04/20 Втр 04:59:15 #23 №217783742 
МНе тоже ответьте, пидарасы. Можно ли проще написать вот этот вот функционал? https://drive.google.com/file/d/10B-MpVsjA9ebXUU1wUqWujgAYfDDap1X/view?usp=sharing
Аноним 14/04/20 Втр 04:59:26 #24 №217783746 
>>217783714
Намёк на то, что я индус, или на то, что постфиксная форма нужна только индусам?
Аноним 14/04/20 Втр 04:59:32 #25 №217783748 
>>217783666
for(let x=0;х>1;x++?x++:x-1) {
console.log(x--?x+1:x-1);
}

Улучшил свой код
Аноним 14/04/20 Втр 05:00:47 #26 №217783773 
>>217783697
Не так. Ты присваиваешь значение одной переменной другой и ПОСЛЕ этого происходит икремент первой.

let a = 1;
let b = a++;

// a = 2, b = 1
Аноним 14/04/20 Втр 05:02:21 #27 №217783812 
>>217783748
Можешь человеческим языком объяснить, в каких случаях может использоваться только i++, а не ++i?
Аноним 14/04/20 Втр 05:03:10 #28 №217783832 
>>217783335 (OP)
Такие конструкции помогают с производительностью, постинкремент с записью выполняктся за один такт.
Аноним 14/04/20 Втр 05:03:23 #29 №217783836 
>>217783812
Если не использовать = то никакой разницы между i++ и ++i нет
Аноним 14/04/20 Втр 05:04:06 #30 №217783849 
>>217783773
Это я понимаю, но зачем?
Аноним 14/04/20 Втр 05:04:06 #31 №217783850 
Сколько нужно тупоголовых ОПов, чтобы инкрементировать i?
Аноним 14/04/20 Втр 05:04:34 #32 №217783857 
>>217783850
Правильно - чем меньше, тем лучше. Ибо они только мешают своим индусокодом)))))00
Аноним 14/04/20 Втр 05:06:16 #33 №217783901 
>>217783849
Зависит от реализации, конкретных задач, мы то откуда ебем зачем
Напиши сетевой чат на сокетах и поймёшь зачем
Аноним 14/04/20 Втр 05:07:22 #34 №217783926 
>>217783901
>Напиши сетевой чат на сокетах
Тебе надо - ты и пиши
Аноним 14/04/20 Втр 05:08:00 #35 №217783941 
>>217783926
Я уже написал
Аноним 14/04/20 Втр 05:08:42 #36 №217783955 
>>217783849
Иногда это полезно для оптимизации. Например, ты пишешь что-нибудь типа

c = a++ b;

в этом случае операции a++ и a
b могут быть выполнены параллельно, а если ты пишешь.

c = ++a * 2;

то сначала нужно будет посчитать результат ++a, а потом уже умножить на 2.
Аноним 14/04/20 Втр 05:09:28 #37 №217783974 
>>217783955
>c = a++ b;
c = a++ * b;

быстрофикс.
знак умножения проебался
Аноним 14/04/20 Втр 05:15:43 #38 №217784094 
>>217783955
>>217783974
Всё равно не понял, лол.
В первом случае c выдаст не то значение, по сути результат a * b
Аноним 14/04/20 Втр 05:15:48 #39 №217784096 
>>217783941
Какой же ты пиздабол!!!
Аноним 14/04/20 Втр 05:17:59 #40 №217784127 
>>217783812
Тебе надо сначала произвести действие, а потом инкремент, или после? И в любом си-подобном языке инкремент и декремент одинаково работают, не?

Нужно дохуя где, это шортхенд синтаксис. Разница в том, что:

let a = 0;
console.log(++a);
//1
console.log(a++);
//1
console.log(a);
//2

Понял?
Аноним 14/04/20 Втр 05:25:03 #41 №217784280 
>>217784127
>Тебе надо сначала произвести действие, а потом инкремент
Это. В каком случае мне это может быть надо?

>И в любом си-подобном языке инкремент и декремент одинаково работают, не?
В душе не ебу.

>let a = 0;
>console.log(++a);
>//1
>console.log(a++);
>//1
>console.log(a);
>//2
Здесь же нет разницы между префиксной и постфиксной формой, правильно? В обоих случаях к a прибавляется 1
Аноним 14/04/20 Втр 05:25:46 #42 №217784297 
>>217784280
>префиксной и постфиксной формой
префиксной и постфиксной формами
Аноним 14/04/20 Втр 05:39:49 #43 №217784586 
Бамп
Аноним 14/04/20 Втр 05:40:05 #44 №217784592 
>>217784280
Тебе не надо, а мне надо, потому что ты долбаёб ‍‍‍‍
Аноним 14/04/20 Втр 05:41:58 #45 №217784628 
>>217784592
А тебе где надо?
Аноним 14/04/20 Втр 05:42:52 #46 №217784638 
>>217784280
Это одна программа. Подумай, почему второй косоль лог вернет 1?
>где использовать?
++i можно использовать например для вывода чисел от 1 до 100.
Еще можешь попробовать вывести элемент массива с его нормером в массиве: «элемент массива номер 1: вася». Это то что сразу на ум пришло. Это нужная хуйня, ты просто не сталкивался с неоьходимостью.
Аноним 14/04/20 Втр 05:52:43 #47 №217784854 
>>217784638
>++i можно использовать например для вывода чисел от 1 до 100.
>Еще можешь попробовать вывести элемент массива с его нормером в массиве: «элемент массива номер 1: вася».
Так я про i++ спрашивал, ++i я понимаю.

>Подумай, почему второй косоль лог вернет 1?
Потому что он плюсует 1 к a, но возвращает её старое значение, правильно?
Аноним 14/04/20 Втр 05:58:30 #48 №217784975 
>>217784854
>Так я про i++ спрашивал, ++i я понимаю
Перебор массива? Типа arr?
Аноним 14/04/20 Втр 06:08:03 #49 №217785186 
постфикс сначала вернет значение, затем инкрементирует переменную, а префикс сначала инкрементирует, а потом вернет.

let v = 0;
console.log(v++); // 0

let v = 0;
console.log(++v) // 1

Это просто возможность языка. Она, в целом, нахуй не нужна сейчас. Остается в стандарте для совместимости. Вообще переменные зачастую хуйня полная - лучше использовать константы.

const v = 0;
console.log(v); // 0
console.log(v + 1); // 1

Сразу понятно где у тебя что и в каком состоянии.
Аноним 14/04/20 Втр 06:15:38 #50 №217785319 
>>217785186
В языке есть еще другие, менее известные фичи, которые просто не используются, но тянутся уже давно.

Например, comma operator:

let x = 1;
x = (x++, x);
console.log(x); // 2

Аноним 14/04/20 Втр 06:19:56 #51 №217785403 
Сразу видно какие двачеры 300кнаносеки на самом деле.
Аноним 14/04/20 Втр 06:23:19 #52 №217785468 
.jpg
.jpg
.png
.jpg
А тебя это вообще ебет? Людям нужно, на тебя все хуй клали. С такими доебами нахуй нужен тогда перфиксная форма? Нахуй нужен for, когда можно заменить вайлом и наоборот? Ссу тебе в ротеш крч.
Аноним 14/04/20 Втр 06:24:32 #53 №217785486 
>>217783430
> c++
> не знает перфиксной и постфиксной формы инкремента/декремента
Можешь ливать со своей шараги, тебя там не учат.
Аноним 14/04/20 Втр 06:25:58 #54 №217785511 
>>217783697
Ну предыдущее значение то увеличолсь на единицу. И инкременты в основном используются в циклах.
Аноним 14/04/20 Втр 06:27:00 #55 №217785529 
>>217785186
>Вообще переменные зачастую хуйня полная - лучше использовать константы
Двачую. Состояния программы в константах храни.
Аноним 14/04/20 Втр 06:28:42 #56 №217785555 
>>217785319

Анон, помоги улучшить скрипт оператором с запятой!

for(let x=0;х>1;x++?x++:x-1) {
console.log(x--?x+1:x-1);
}
Аноним 14/04/20 Втр 06:59:05 #57 №217786057 
>>217785529
Ну и заебись, зато time-travel debugging
Аноним 14/04/20 Втр 07:04:56 #58 №217786176 
>>217785555
> let x=0;х>1;
Аноним 14/04/20 Втр 07:54:09 #59 №217787160 
>>217783335 (OP)
Я выяснил, что правильное использование инкремента позволит сэкономить 7 команд.
Аноним 14/04/20 Втр 08:02:26 #60 №217787355 
>>217783335 (OP)
Z=I++ + 1сначала выполняется z=i+1, затем i=i+1
Z=++i + 1 сначала выполняется i=i+1, затем z=i+1
Аноним 14/04/20 Втр 09:04:31 #61 №217789112 
https://ravesli.com/urok-40-inkrement-dekrement-pobochnye-effekty/

Срр, но суть та же
Аноним 14/04/20 Втр 09:21:26 #62 №217789658 
>>217785555
выглядит как блевотина индуса
Аноним 14/04/20 Втр 10:22:26 #63 №217792385 
>>217783832
Чел, это жаба, блядь, скрипт, какие нахуй такты и производительность? Только на разбор этой хуйни интерпретатор потратит овердохуя тактов. Ты ещё байтоёбить на жабаскрипте начни, ну, там, битовые сдвиги делать... пиздец.
Аноним 14/04/20 Втр 10:25:18 #64 №217792543 
>>217785468
двучую
Аноним 14/04/20 Втр 10:34:13 #65 №217793022 
>>217783335 (OP)
Не жабаскрипт, но в любом языке с C-подобным синтаксисом например что-то такое:
size_t i = 0;
while (!something.isReady()) {
int value = arr1[i++];
value += arr1[i++];
value /= arr1[i++];
value *= arr1[i++];
something.check(value);
}
Аноним 14/04/20 Втр 10:38:47 #66 №217793290 
>>217783773
А=1
Б=2
Аноним 14/04/20 Втр 10:39:23 #67 №217793330 
>>217783549
мне так похуй, что я не могу об этом молчать, сука как же я ненавижу таких ебаных мудаков, которые зайдут в тред и отпишутся только чтобы высрать "ыыы ну ета просто подумай сам)) лол))"
Аноним 14/04/20 Втр 10:42:47 #68 №217793525 
>>217793330
Типичный препод в универе.
Аноним 14/04/20 Втр 11:52:35 #69 №217797648 
>>217783335 (OP)
Ты еблан сука
при z = x++, сначала х присвоено зет, затем х увеличено
а при z = ++x сначала х увеличится, а затем будет присовено зет
sageАноним 14/04/20 Втр 11:54:36 #70 №217797765 
>>217797648
Так он это и описал, еблан сука. Он спрашивает нахуй это нужно
Аноним 14/04/20 Втр 12:01:40 #71 №217798191 
>>217797765
>меняет значение переменной, но оставляет предыдущее

Ты его одногруппник с таким же однозначным iq?
comments powered by Disqus

Отзывы и предложения