(no subject)
Wednesday, 7 September 2011 17:11![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
то что ты сейчас пытаешься сделать (использовать ассемблер в программах на Delphi) — ошибка. Генетическая. Российская. Всей образовательной системы страны. Таких преподов надо увольнять сразу же. Если выжигать эту дурь из мозгов каленым железом не получается. Правильно им копейки платят. Они это заслужили.
http://lurkmore.ru/Pascal#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D0.9F.D0.A0.D0.90.D0.92.D0.94.D0.AB_.D0.BF.D1.80.D0.BE_Delphi
А я говорил!
http://lurkmore.ru/Pascal#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D0.9F.D0.A0.D0.90.D0.92.D0.94.D0.AB_.D0.BF.D1.80.D0.BE_Delphi
А я говорил!
no subject
2011-09-07 21:54 (UTC)no subject
2011-09-07 22:10 (UTC)no subject
2011-09-08 16:03 (UTC)no subject
2011-09-08 16:04 (UTC)no subject
2011-09-08 16:34 (UTC)no subject
2011-09-08 17:16 (UTC)no subject
2011-09-08 17:18 (UTC)no subject
2011-09-08 17:25 (UTC)а в случае return мы получаем несколько семантически несвязных концовок
no subject
2011-09-08 17:37 (UTC)Смысл существования функции - вернуть результат. Она его возвращает. В зависимости от разных условий, результат может возвращаться разный.
def mod(a):
if a > 0:
return a
else:
return -a
Ну давай на стеке поднимать int res, присваивать его в двадцати местах делать, а потом извращаться с готой либо управляющими конструкциями чтобы оказаться в конце и вернуть res. Правда, где этот res образовался потом хуй отследишь, но кого это волнует, лишь бы ретурнили его в одном месте.
Бывает конечно, иногда, что надо не просто ретурн а ещё и финалайзить, снимать мутексы какие-нибудь и всё такое. Решается return finalize([мойтекущийрезультат]). Где финалайз - ЛОКАЛЬНАЯ субфункция.
no subject
2011-09-08 17:55 (UTC)но с точки зрения "расовой чистоты" return нарушает линейность flow , вместе со всем комплексом проблем goto - т.е. в последующем сопровождении ведет к ошибкам исполнителя
no subject
2011-09-08 18:00 (UTC)ретурн это не какой-то там обходной путь для решения какой-то там конкретной проблемы - ретурн это, именно смысл функции. Она возвращает значение. И нет совершенно, вообще, никакой проблемы его возвращать из многих мест.
Давай, взорву мозг :
def myfunc(a,b):
return someotherfunc
myfunc(a,b)(args)
Расскажи про линейность флоу, неподдерживаемый спагетти и ошибки исполнителя %)
no subject
2011-09-08 18:04 (UTC)no subject
2011-09-08 18:40 (UTC)не понимаю как можно ругать одно из них и защищать другое
no subject
2011-09-08 20:15 (UTC)no subject
2011-09-08 17:54 (UTC)no subject
2011-09-08 17:30 (UTC)и где такое дают?Какие, в жопу, блоксхемы? На блок-схеме вот это говно совершенно идентично вот этой питонятине:
def test(a):
if a > 30:
print "a>30"
elif a > 20:
print "A>20"
elif a > 10:
print "A>10"
else:
print "A TOO SMALL!"
return False
# maybe something more
print "DONE"
no subject
2011-09-08 17:54 (UTC)no subject
2011-09-08 10:53 (UTC)no subject
2011-09-08 16:05 (UTC)no subject
2011-09-08 16:06 (UTC)