Бред


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
59 5 19

Аноним 24/01/20 Птн 20:00:13 2122110261
15312484856110.jpg (74Кб, 1280x720)
1280x720
Безымянный.png (22Кб, 474x375)
474x375
Прохрамисты здесь?
Вот давай, без компилятора, скажи че будет выведено на экран. Три метода в классе Processor. Метод run() в классе ideone. Метод run() в main вызывается с стригом "строка". Что будет выведено на экран? Загадка.
Аноним 24/01/20 Птн 20:06:36 2122114992
Object\nString?
Аноним 24/01/20 Птн 20:07:23 2122115503
>>212211499
Чому вызывается обжект, если параметр "o" содержит ссылку на стринг? Чому не стринг?
Аноним 24/01/20 Птн 20:10:43 2122117564
>>2122115>>212211550
Функция ран принимает объект, нисходящее преобразование что-ли должно сработать?
Аноним 24/01/20 Птн 20:11:16 2122117995
>>212211550
Объект - это более абстрактная сущность, чем строка. Т.е. любая строка является также и объектом, но не с любым объектом можно работать как со строкой.
Аноним 24/01/20 Птн 20:13:49 2122119776
image.png (8Кб, 168x133)
168x133
image.png (7Кб, 130x116)
130x116
СУКА ДЕБИЛ ЕБАННЫЙ
Аноним 24/01/20 Птн 20:14:32 2122120327
>>212211799
Допустим у нас в объекте Стринг был бы переопределен метод какой-нибудь. Пусть .getClass() возвращает у стринга "Что-то". Мы можем у o.getClasss() вызывать? Или если там тип Обжект, то и методы Стринга не доступны?
Аноним 24/01/20 Птн 20:14:34 2122120368
>>212211977
А светлая тема тебя не смутила?
Аноним 24/01/20 Птн 20:15:02 2122120649
Аноним 24/01/20 Птн 20:16:12 21221213810
Аноним 24/01/20 Птн 20:19:43 21221238511
Аноним 24/01/20 Птн 20:30:37 21221311812
>>212212032
Я хз как в джаве, на C# пишу. Но в шарпе ты можешь принудительно представить любой объект как экземпляр конкретного класса, а если привести не получилось - будет null:

object Obj = "test";
string Str = (Obj as string).ToUpper(); // TEST
Array Arr = (Obj as Array); // null
Аноним 24/01/20 Птн 20:37:49 21221363713
Ну-ка товарищи погромисты без вставки в компилятор угадайте что делает код:

while (true) {

for ($k = $directionNORTH; $k < $cols - $directionSOUTH; $k++) {
$arr[$k][$directionEAST] = $fill;
}
$directionEAST++;
$step++;
if ($step == $maxsteps) break;

for ($k = $directionEAST; $k < $rows - $directionWEST; $k++) {
$arr[$cols - 1 - $directionSOUTH][$k] = $fill;
}
$directionSOUTH++;
$step++;
if ($step == $maxsteps) break;

for ($k = $cols - 1 - $directionSOUTH; $k >= $directionNORTH; $k--) {
$arr[$k][$rows - 1 - $directionWEST] = $fill;
}
$directionWEST++;
$step++;
if ($step == $maxsteps) break;

for ($k = $rows - 1 - $directionWEST; $k >= $directionEAST; $k--) {
$arr[$directionNORTH][$k] = $fill;
}
$directionNORTH++;
$step++;
if ($step == $maxsteps) break;

}
}
Аноним 24/01/20 Птн 20:38:45 21221369914
>>212213637
О госпаде, разметка по пизде, ща исправлю.
Аноним 24/01/20 Птн 20:41:40 21221388915
image.png (844Кб, 800x800)
800x800
> [5,3,1,0,10].sort()
Ну-ка, программисты, что выведет на экран?
Аноним 24/01/20 Птн 20:42:53 21221396916
001.jpg (126Кб, 895x674)
895x674
24/01/20 Птн 20:45:30 21221415917
>>212213889
> > printf("Hello World")
> Ну-ка, программисты, что выведет на экран?
Аноним 24/01/20 Птн 20:46:42 21221423618
>>212214159
> ха эта жи элементарна0)0
ты здесь
> попытался ответить
> обосрался
Аноним 24/01/20 Птн 20:50:50 21221454019
>>212213889
Если это питон - то ничего не выведет, лол.
Аноним 24/01/20 Птн 20:51:06 21221455620
>>212213889
Ебанутая сортировка
[0,1,10,3,5]
Аноним 24/01/20 Птн 20:53:52 21221471921
>>212214540
Это что угодно лол, но есть один особенный для __особенных__ людей
Аноним 24/01/20 Птн 20:54:43 21221476222
24/01/20 Птн 20:56:48 21221489023
Аноним 24/01/20 Птн 20:57:58 21221496524
console.log(1);

Что выведется?
Аноним 24/01/20 Птн 20:58:38 21221500025
Аноним 24/01/20 Птн 20:58:44 21221500526
>>212214540
Ты долбоеб? Как можно предсказать, что выведет на экран рандомный псевдокод, не зная какой компилятор/интерпретатор будет его обрабатывать? Может вообще будет ошибка синтаксиса.
Аноним 24/01/20 Птн 21:06:18 21221549227
Аноним 24/01/20 Птн 21:07:28 21221556928
Аноним 24/01/20 Птн 21:11:41 21221582929
Мы передаем в метод ран() ссылку на строку. Почему когда вызываем процесс с ссылкой на строку, не вызывается метод для строки? Почему, блять?
Аноним 24/01/20 Птн 21:11:49 21221583830
Object
String

в первом случае вызывается перегрузка для Object, т.к. компилятор при компиляции функции run знает только то, что тип переменной o -- Object. А то, с каким именно аргументом вызывалась функция run, ему во время генерации кода run по барабану.

/thread
Аноним 24/01/20 Птн 21:20:21 21221640531
>>212215838
>т.к. компилятор при компиляции функции run знает только то, что тип переменной o -- Object.
Но чому? Чому он не видит, что ссылка ведет на стринг?
Аноним 24/01/20 Птн 21:26:52 21221685032
>>212216405
Ещё раз.

Компилятор компилирует функцию run.
Он не смотрит на вызовы этой функции от слова совсем.
Потому что если бы он это делал, то при наличии косвенной рекурсии (функция foo вызывает bar, а та зовёт foo) ему не удалось бы завершить компиляцию. Да это и не требуется.
Так работает статическая типизация.

Итак, компилятор компилирует функцию run. А в ней тип o -- Object. Ну вот и в соответствии с этим знанием он выбирает ту перегрузку, которая является наиболее подходящей, и выполняет связывание.
Аноним 24/01/20 Птн 21:32:21 21221720933
>>212216850
Как компилято определяет какие функции надо компилировать, а какие нет? Типа для компилятора вызова функции и сама функция имеют разницу?
Аноним 24/01/20 Птн 21:33:33 21221729534
>>212217209
Эээ, компилятор компилирует все функции.
Аноним 24/01/20 Птн 21:37:04 21221749535
Оп, ты не ослеп еще на белом фоне синим печатать?
Аноним 24/01/20 Птн 21:37:05 21221749636
>>212217295
Тогда почему он не скомпилировал ран() в котором строка и далее по списку?
Аноним 24/01/20 Птн 21:38:59 21221761037
>>212217496
Это исключение, на экран выводит в определенных случаях
Аноним 24/01/20 Птн 21:40:25 21221769938
>>212217496
Потому что компилятор, когда компилирует run(Object o), не делает никаких предположений о том, какой в действительности будет тип o. Ему приказано [тобой] сгенерировать код, который умеет обрабатывать Object. Он послушно выполняет. На выходе мы имеем код функции, который не зависит от фактических аргументов.

Это в целом важная концепция. А именно: различие между формальными и фактическими аргументами функции.

Формальные -- те, которые в сигнатуре описаны.
Фактические -- те, которые действительно переданы в функцию.
Аноним 24/01/20 Птн 21:40:50 21221772539
>>212217610
какое исключение? про что ты?
Аноним 24/01/20 Птн 21:41:17 21221774740
>>212217725
Да это кто-то левый вклинился в дискуссию
24/01/20 Птн 21:41:36 21221776641
>>212211026 (OP)
>Прохрамисты здесь?
На месте.
>че будет выведено на экран
В душе не ебу.
Аноним 24/01/20 Птн 21:42:10 21221780042
Аноним 24/01/20 Птн 21:43:10 21221786043
>>212217747
Ты охуел? Не пизди мне тут.
Аноним 24/01/20 Птн 21:44:02 21221791944
>>212217699
>когда компилирует run(Object o),
А ран("строка") это не компилируется что ли?
Аноним 24/01/20 Птн 21:45:43 21221801345
Аноним 24/01/20 Птн 21:46:37 21221806246
>>212217919
Это компилируется отдельно и независимо от тела функции run(). Вызов run("строка") компилируется в контексте компиляции функции main().
Аноним 24/01/20 Птн 21:51:07 21221834347
>>212218062
И при компиляции он не проверяет что ли ничего? Можно такой тип передавать, нельяз? Проверяет же. И все равно лезет к телу функции для проверки.
Аноним 24/01/20 Птн 21:51:47 21221838548
12015601.jpg (306Кб, 1141x888)
1141x888
Товарищи погромисты, что выведет на экран, если я запущу метод main вот этой вот шняги?
Аноним 24/01/20 Птн 21:52:10 21221840649
>>212218343
Он не лезет в тела используемых функций.

Он проверят лишь сверяясь с сигнатурами используемых функций.
Аноним 24/01/20 Птн 21:55:29 21221862150
>>212213969
И что, никто это не отгадает? Сразу видно, никаких 200к/сек тут нет, одни пиздоболы.
Аноним 24/01/20 Птн 21:57:14 21221875451
Аноним 24/01/20 Птн 21:57:33 21221878252
>>212218621
Похоже на какой-то дерьмовый алгоритм заливки. Зачем разбираться в ненужном говне ?
Аноним 24/01/20 Птн 22:03:59 21221919453
>>212218406
Спасибо за ответ.

Абу благословил этот пост.
Аноним 24/01/20 Птн 22:10:34 21221967654
>>212211026 (OP)
Нихуя, потому что в данном коде ничего не запускается.
/thread
Аноним 24/01/20 Птн 22:26:53 21222077155
24/01/20 Птн 22:30:23 21222102556
>java
Аноним 24/01/20 Птн 22:36:23 21222148657
Аноним 24/01/20 Птн 22:37:09 21222154058
>>212218406
А как мне читать код? Постоянно дежать в голове как этот метод будет компилирован компилятором что ли? Может есть какие-то лайфхаки?
Аноним 24/01/20 Птн 22:37:48 21222158259
>>212219676
Ты дурак? Вон же вызов метода ран() в методе майн.
Аноним 24/01/20 Птн 22:43:16 21222194560
>>212221582
Я ниебу как ваша жаба работает, но вызова класса Ideone не заметил.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов