The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Компания Apple объявила о скором переводе языка Swift в разр..., opennews (??), 08-Июн-15, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


52. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Crazy Alex (ok), 09-Июн-15, 11:06 
И какова практическая применимость этого?
Ответить | Правка | Наверх | Cообщить модератору

53. "Компания Apple объявила о скором переводе языка Swift в разр..."  –2 +/
Сообщение от клоун (?), 09-Июн-15, 11:38 
А тебе не надоедает при каждом делении писать?

res = ?(y=0, 0, x/y);

Вместо куда более логичного

res = x &/ y;

То, что математическая операция вызывает прерывание выполнения программы - это архитектурная проблема многих ЯП. Слава Путину что хоть переполнение или потеря точности при операция с плавающей точкой проходят всегда, а не выдают exception "выполнение программы прекращено с ошибкой: потеря точности при умножении"

Ответить | Правка | Наверх | Cообщить модератору

58. "Компания Apple объявила о скором переводе языка Swift в разр..."  +2 +/
Сообщение от Crazy Alex (ok), 09-Июн-15, 12:12 
Не надоедает, потому что я так в жизни не писал. Я вообще смысла этого действа не понимаю, и где его применить - тоже, ни в первом, ни во втором варианте. Это банальное нарушение правил операции деления. Зачем мне там нуль, если он не несёт никакого смысла?

Для всех практических нужд нуль в знаменателе - признак того, что у нас на входе неверные (непроверенные или не исправленные) данные - то есть классическая причина бросить исключение. Тем более это верно в отношении приведённого примера из книги, где о float - ни слова. А уж целочисленное деление на нуль - вообще за гранью добра и зла.

Ответить | Правка | Наверх | Cообщить модератору

62. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 09-Июн-15, 14:30 
> Для всех практических нужд нуль в знаменателе - признак того, что у нас на входе неверные данные

Т.е. вы программным исключением проверяете данные на правильность? Вас чем-то обидели условия или вы дали обет прогить 10 лет не написав ни одного "если-то"?

Мда... Всё хуже, чем я думал...

С абстрактным мышлением у вас тоже всё плохо, поэтому попробую объяснить на пальцах.

int res = MAX_INT + MAX_INT;

приведёт к ошибке переполнения, которая будет автоматически обработана и вы об этом даже не узнаете. В асме был бы установлен флаг переполнения, но Си его игнорирует.

Умножение чисел со знаком приводят к ошибкам сопроцессора и переполнениям, которые язык Си игнорирует.

int res = MAX_INT / 0;
int res = 0 / 0;

тоже приводит к ошибке, но эта ошибка вызывает в Си прерывание выполнения программы.

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

Исторически сложилось, что именно деление на 0 вызывает прерывание выполнения, но это не делает её более или менее уникальной, чем любая другая ошибка, связанная с неверными данными.

Правильным (единообразным с другими обработчиками ошибок) поведением было бы считать нулевым результат от деления на 0, что и было реализовано в ЯП Swift.

Ответить | Правка | Наверх | Cообщить модератору

65. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Crazy Alex (ok), 09-Июн-15, 15:13 
Ок, объясняю для клоунов.

В зависимости от алгоритмики деление на нуль и рпочие переполнения могут быть проблемой логики или исходных данных. В первом случае в код пихаются assert, enforce и подобные конструкции, которые прерывают выполнение некорректной программы. Во втором случае, в зависимости от вероятности возникновения ошибки, можно проверять явно или положиться на исключения - код получается менее загромождён проверками. Ко float всё это, кстати, слабо относится - там вы получите inf, что абсоютно разумно и специфицировано стандартом.

Дальше. Да, в ваших примерах будет переполнение. Именно поэтому более современные языки имеют разнообразные средства для борьбы с этим - от BIGINT до специализированных цисловых классов. Чего вы привязались к Си, который очень беден во многих областях, когда мы говорим о Swift, скорее сравнимом с Go, Rust, C++ или D - я понятия не имею.

И, кстати, в C integer Overflow и division by zero абсолютно консистентны - и то и другое - undefined behavior. В плане реализации креш в подобных ситуациях куда лучше, чем продолжение работы с бессмысленными данными.

Разумеется, было бы лучше, если бы любыу переполнения отлавливались. Но на практике сложение/вычитание (и в меньшей мере умножение) быстры и часто используются, и проверка для каждого из них сильно влияла бы на быстродействие. Поэтому для желающих в том же GCC/Clang есть соответствующие intrinsics - и всё. Плюс на уровне ассемблера сложение/вычитание с переполнением - вполне осмысленные операции, на которых реализуется тот же BIGINT. Деление же используется редко, довольно дорого и вызывает легко отлавливаемое аппаратное прерывание.

Но никто и никогда не выставлял результат операции с переполнением в нуль по причине полной бессмылсенности.

Ответить | Правка | Наверх | Cообщить модератору

69. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аномсисemail (?), 09-Июн-15, 16:29 

> В зависимости от алгоритмики деление на нуль и рпочие переполнения могут быть проблемой логики или исходных данных.

Я видел много логики, где если делитель равен нулю, то и результирующее значение должно быть равно нулю.

Вот, например, пример нормирования:

int Сумма = 0;

foreach(Значение; МассивЗначений) {
   Сумма += Значение;
}

foreach(ref Значение; МассивЗначений) {
   Значение /= Сумма;
}

А если "Сумма" будет равна 0, то и "Значение" должно равнятся 0, но такого не будет, т.к. вылезет исключение и поэтому приходится писать условие:

Сумма = Сумма==0 ? 1 : Сумма;

Или:

Значение = Сумма==0 ? 0 : Значение / Сумма;

Если же в данном примере, заместо типа int использовать тип float, то после деления на 0 получится nan, а по логике работы алгоритма должно быть 0, поэтому данный оператор и тут выручит и избавит от сравнения, засоряющего код.

И таких ситуаций я встречал полно в программировании, именно поэтому данный оператор полезен, потому что лень каждый раз писать аналогичные условия и плюс код ещё загромождается. Я с аналогичным кодом сталкивался больше, чем вы можете себе представить и разработчики данного языка, видимо, не спроста придумали эту конструкцию, наверно их тоже достало писать эти условия.

И заметьте, что оператор "&/" -- это не оператор деления, а оператор деления и сравнения, поэтому, где логика другая, там можно пользоваться обычным делением.

Но думаю, что данный оператор нельзя назвать преимуществом языка Swift, т.к. аналогичная конструкция вроде свободна во всех самых популярных языках(из тех, которые я знаю), поэтому она мигрирует потом из данного языка и в остальные, если язык станет популярным, ну или если идея дойдёт до разработчиков остальных языков.

Ответить | Правка | Наверх | Cообщить модератору

77. "Компания Apple объявила о скором переводе языка Swift в разр..."  +2 +/
Сообщение от анон (?), 09-Июн-15, 17:24 
> Я видел много логики, где если делитель равен нулю, то и результирующее
> значение должно быть равно нулю.

Но не неявно же. Это очень специфический случай. То, что ты ниже критикуешь, как раз правильно -- ибо явно.

> И заметьте, что оператор "&/" -- это не оператор деления, а оператор
> деления и сравнения, поэтому, где логика другая, там можно пользоваться обычным
> делением.

Это бред. Твои личные фантазии на тему этого оператора. В доках он называется overflow division, это оператор деления.

> Но думаю, что данный оператор нельзя назвать преимуществом языка Swift, т.к. аналогичная
> конструкция вроде свободна во всех самых популярных языках(из тех, которые я
> знаю), поэтому она мигрирует потом из данного языка и в остальные,
> если язык станет популярным, ну или если идея дойдёт до разработчиков
> остальных языков.

Да ты самый умный у мамки, ага. До тебя быстрее всех все доходит.
Она уже мигрировала -- на помоечку, они сами это убрали (см. ниже ссылку на старую версию книжки). Видимо, до них-таки дошло.

Ответить | Правка | Наверх | Cообщить модератору

85. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от Аномсисemail (?), 09-Июн-15, 18:41 
> Но не неявно же. Это очень специфический случай. То, что ты ниже критикуешь, как раз правильно -- ибо явно.

Я привёл пример, который первый пришёл в голову, и в котором от деления можно вообще избавится, но я видел много другого кода, где от деления избавится было нельзя и точно также приходилось использовать условие для приравнивания нуля.

> Это бред. Твои личные фантазии на тему этого оператора. В доках он называется overflow division, это оператор деления.

Ты не знаешь о моих фантазиях и без разницы, как он называется в доках, я говорил лишь об его машинной реализации. Как по-твоему данный код преобразуется в машинные инструкции ?
Если там операция целочисленного деления, не вызывающая исключения ? Или можно разделить плавающую точку на 0, без генерации nan значения ?
Вряд-ли.
Скорее всего компилятор там вставит условие сам, поэтому и получится деление с условием.

> Да ты самый умный у мамки, ага. До тебя быстрее всех все доходит.

Она уже мигрировала -- на помоечку, они сами это убрали (см. ниже ссылку на старую версию книжки). Видимо, до них-таки дошло.

А ты по-нормальному без оскорблений комментировать не можешь ?

Я вообще о данном языке не знаю ничего и о соответствующем операторе узнал из комментариев выше. Мне всё-равно убрали они его или оставили. Но если бы данный оператор прижился, его бы подхватили и все другие.
Я лишь подметил, что при наличии данного оператора, он не добавляет каких-то суперпреимуществ языку и аналогичный оператор легко реализовать в любом другом языке.

Ответить | Правка | Наверх | Cообщить модератору

101. "Компания Apple объявила о скором переводе языка Swift в разр..."  +2 +/
Сообщение от анон (?), 09-Июн-15, 21:11 
Ну хорошо, попробуем в этот раз без оскорблений. Может быть, так получится.

(Напоминаю, что ты заявил, что &/ -- не деление.)

"Без разницы, как он называется в доках", "как по-твоему", "вряд-ли", "скорее всего", "я о данном языке не знаю ничего", "если бы"...

Твои догадки по поводу того, как реализуется в машинном или llvm-коде тот или иной оператор, и чем руководствовались разработчики, когда это вводили в язык -- это лишь твои догадки, фантазии, не имеющие к действительности никакого отношения, даже если там действительно похожим образом все устроено. Ты не понимаешь, что спецификация и реализация - это разные вещи, и если даже в компиляторе &/ был реализован через условие+деление, это не дает тебе права называть его условным делением, если он так не назван в _спецификации_ языка. Обычно в этом месте следует контраргумент наподобие "Ну а как еще его реализовать?" Да так, что никто не запретил бы разработчикам взять и компилировать позже, в новой версии компилятора, этот оператор как-нибудь по-другому (например, через ненавистное вам исключение) - то, что что они гарантируют, написано в спецификации, и там он называется overflow division, или "деление с переполнением". Это деление. Точка.

Но результатом деления на ноль является совсем даже не ноль, поэтому по факту это не оператор деления, он не оправдывает своего названия -- поэтому я посмеялся над ним. Ты тоже, видимо, в курсе, что деление так себя не ведет -- но ты решил вместо того, чтобы признать наличие ошибки, просто так взять и переименовать этот оператор (здесь можно увидеть забавную аналогию с самими операторами / и &/). Нельзя просто так взять и переименовать оператор, который уже имеет официальное название.

Непонимание таких вещей выдает твой низкий уровень инженерной культуры. Ты либо тролль (вроде не похоже), либо, так скажем, еще совсем юн.

Короче говоря, если у тебя возникнет желание ответить мне, выдумав новый пучок фактов о незнакомом языке, и попутно привести аналогии из истории Древнего Мира, кельтских мифов, и того, что ты в книге дракона вычитал (хоть в курсе, что это не фэнтези-роман?) -- не стоит. Прочти то, что я уже писал тебе - я повторять по сто раз не буду. Есть замечания по существу предмета - пиши.

Ответить | Правка | Наверх | Cообщить модератору

150. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 19:33 
Без крепкого словца скучно читать. Если человек болван, то констатировать по факту что он болван - это совсем не оскорбление. В вашем ответе напрашивает диагноз, но вы виляете как собака хвостом, поэтому о вас можно подумать что вы толерантный идараст. Говорите как есть, не стесняйтесь и глядишь под напором наступят времена когда очередной писатель подумает лишний раз прежде чем соберется вывалить свой бред в интернеты.
Ответить | Правка | Наверх | Cообщить модератору

152. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от анон (?), 11-Июн-15, 01:06 
Не путайте конструктивную критику и толерастию, это совершенно противоположные вещи.
Бороться руганью и демагогией с сетевыми неадекватами бессмысленно, они нам сами фору дадут по этой части.
Ответить | Правка | Наверх | Cообщить модератору

155. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от тоже Анонимemail (ok), 11-Июн-15, 08:31 
"Ирония и жалость, ребята! Ирония и жалость!"
Ответить | Правка | К родителю #152 | Наверх | Cообщить модератору

72. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аномсисemail (?), 09-Июн-15, 16:51 
Выше я просто пример привёл, но в реальности в том примере будет использоваться тип с плавающей точкой и лучше деление заменить умножением, если код это позволяет(иногда такое нельзя провернуть из-за ошибок округления).
Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

102. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Аноним (-), 09-Июн-15, 21:14 
> int res = MAX_INT / 0;
> int res = 0 / 0;
> тоже приводит к ошибке, но эта ошибка вызывает в Си прерывание выполнения
> программы.

В Си это undefined behaviour, и в стандарте нигде не написано, что программа должна прерываться. Иными словами, гипотетический Klovan C compiler, у которого деление на ноль равняется нулю, полностью соответствует стандарту языка.

Хуже невежества бывает только воинствующее невежество. Вместо того, чтобы предметно разобраться в вопросе "почему сделано именно так, а не как моему больному рассудку кажется логичным и правильным?", ты тут развел абсолютно бессмысленный флуд. Марш читать умные книжки по архитектуре и организации ЭВМ!

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

112. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от анон (?), 09-Июн-15, 22:32 
>>В Си это undefined behaviour

И это, кстати, *запрещает вообще* делить на ноль в си и си++.
Хотя клованский компилятор стандарту соответствует, программа, которая на результат деления в таком компиляторе опирается, стандарту соответствовать не будет. Это будет клованская программа для клованского компилятора.

Оператор &/ может применяться вместо "/" такими, как клоун, из-за лени, а не ради того самого внезапного нуля при переполнении. И в этом вся проблема.

Кстати, Аномсис, клоун, если вы так влюблены в этот оператор -- никто, кроме здравого смысла, не запрещает вам написать свой взамен усопшему, Swift это позволяет.

Ответить | Правка | Наверх | Cообщить модератору

120. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Аноним (-), 10-Июн-15, 01:48 
> И это, кстати, *запрещает вообще* делить на ноль в си и си++.

Запрещать-то никто не запрещает, просто это будет программа, полагающаяся на конкретный компилятор, что плохо практически всегда. Результат "++i + ++i", например, тоже undefined, но от этого программа с такой строчкой не прекращает быть программой на С.

>программа ... стандарту соответствовать не будет

Будет. Она гарантированно скомпилируется и запустится любым сишным компилятором. Но вот как она себя будет вести - совершенно непонятно. Поэтому...

> Это будет клованская программа для клованского компилятора.

Это точно. Хорошей ее назвать язык не повернется ни у одного специалиста, разумеется.

Ответить | Правка | Наверх | Cообщить модератору

129. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от анон (?), 10-Июн-15, 03:23 
Да, вы правы, я неточно выразился. Я имел в виду, что стандарт явно определяет ее поведение неопределенным (undefined behavior), а не зависящим от реализации (implementation-defined).
Ответить | Правка | Наверх | Cообщить модератору

83. "Компания Apple объявила о скором переводе языка Swift в разр..."  +2 +/
Сообщение от ананим.orig (?), 09-Июн-15, 18:40 
> А тебе не надоедает при каждом делении писать?
> res = ?(y=0, 0, x/y);

А с какого перепуга результат при долении на ноль равен нулю?

Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

92. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 09-Июн-15, 19:06 
Лучше 0, чем прерывание выполнения и завершение программы.

Даже так: лучше что-угодно, чем прерывание выполнения и завершение программы.

Ответить | Правка | Наверх | Cообщить модератору

103. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 09-Июн-15, 21:35 
А почему не 10? 100? 1000?
Что за дискриминация?
зыж
Лучше руки сразу отбивать, чем давать писать вот такой код, который мало того что маскируется под валидный, так ещё и мешает при отладке.
Ззыж
А если ноль — не единственное ограничение (а так оно и есть, про переполнение не слышали?), тогда как? Какой ещё костыль придумаете? Просто интересно
Ответить | Правка | Наверх | Cообщить модератору

113. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от анон (?), 09-Июн-15, 22:40 
Предлагаю 666.
Как намек всем, кто не проверяет деление на ноль, что они будут гореть в аду.
Ответить | Правка | Наверх | Cообщить модератору

110. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 09-Июн-15, 22:21 
> Лучше 0, чем прерывание выполнения и завершение программы.
> Даже так: лучше что-угодно, чем прерывание выполнения и завершение программы.

Чушь. Неверно работающую программу лучше всего прибить как можно скорее, пока она не натворила бед. Во всех нормальных языках - от C до Java исповедуется такая логика (где-то падает, где-то исключения). И только в недоязыках грабли заботливо прячут. Видимо, чтобы били больнее.

Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

116. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 10-Июн-15, 00:15 
"Правильность" - это соответствие ТЗ. Если юзер хочет, чтобы 2+2=5, то 2+2=5 - правильно, а 2+2=4 - ошибка.

Не зная задачи и ТЗ утверждать что лучше прибить... Смело.

Ответить | Правка | Наверх | Cообщить модератору

118. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 10-Июн-15, 01:31 
Ок.
А если юзер хочет, чтобы деление на ноль равнялось пи до 10 знака включительно, то какой оператор?
Ответить | Правка | Наверх | Cообщить модератору

119. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Аноним (-), 10-Июн-15, 01:32 
Ну все, сдулся клован. Понял, что на одном дилетантстве техническую дискуссию вести нельзя, начал теперь про "соответствие ТЗ" задвигать.
Но и тут ты не обошелся без формулировок "если бы у бабушки был...". Учись говорить по существу. Какова доля ТЗ, в которых прописывается, что в исключительной ситуации деления на ноль программа должна продолжать работать, приняв результат деления за ноль?
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

123. "Компания Apple объявила о скором переводе языка Swift в разр..."  –2 +/
Сообщение от клоун (?), 10-Июн-15, 02:35 
Воспроизведение видео и звука, контроль скорости и температуры, сбор данных, обработка записей в БД и многие другие - лучше пусть они запорят одну итерацию, чем перестанут работать вообще. Если они будут запарывать все подряд - это сразу выявится и клоун за клавиатурой примет решение.

Вы не работаете с БД объёмом в миллионы записей для которых десятки регламентных заданий постоянно что-то делают? Принимают заказы, рассчитывают доставки, находят габариты, рассчитывают объёмы. Распределённые базы и обмены гоняют данные, которые могут доезжать неполными и их нужно восполнять.

И если ты ещё не заколебался писать условия и проверки, то мне бы хотелось по максимуму от них отвязаться.

если не ноль, то делить
если не пустой файл, то парсировать
если возвращён не пустой массив, то обрабатывать

В результате весь код через ж--у.

do
{
mas = parse_data();
if(!mas)break;
doit(mas);
}while(1);

или прямая версия, но с повтором кода

mas = parse_data();
while(mas)
{
doit(mas);
mas = parse_data();
};

И то, и другое отработает. Но если ты не видишь, что обе конструкции кривые - я с тобой в один цирк не пойду.

Ответить | Правка | Наверх | Cообщить модератору

128. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 10-Июн-15, 03:20 
> Вы не работаете с БД объёмом в миллионы записей для которых десятк....

А вы типа работаете?
Любая серьезная б/д имеет даже для булевых выражений три значения — тру, фалс и нул. При чём нул != нул.
Поэтому не надо пиСдеть.

Ответить | Правка | Наверх | Cообщить модератору

133. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 11:10 
>Воспроизведение видео и звука, контроль скорости и температуры, сбор данных, обработка
>записей в БД и многие другие - лучше пусть они запорят одну итерацию, чем перестанут
>работать вообще.

Это не ответ на вопрос.

>Распределённые базы и обмены гоняют данные, которые могут доезжать неполными и их нужно восполнять.

Компилятор принципиально не может знать, чем, как и когда эти данные нужно восполнять. Не существует универсального рецепта для всех. По крайней мере, принятие за ноль результата деления на ноль - это даже близко не универсальное решение.

Ответить | Правка | К родителю #123 | Наверх | Cообщить модератору

124. "Компания Apple объявила о скором переводе языка Swift в разр..."  –3 +/
Сообщение от клоун (?), 10-Июн-15, 02:40 
Прямая синтаксическая конструкция есть в 1С:

Массив = parse_data();
для каждого Элемент из Массив цикл
doit(Элемент);
конеццикла;

Вот это правильно: мы тупо перебираем возвращённый массив (список, таблицу, таблицу таблиц, таблицу списков таблиц) данных и не паримся пустой он или нет. Проверки вставит компилятор (в данном случае интерпритатор).

Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

130. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 10-Июн-15, 03:32 
Угу, и вот doit и проверяет (там у себя) чё ему надо. Атомарность, мля.
А не как у тебя.

Проверки вне блока только логические, вернее бизнес-логические (например расчет налогов (по закону например) до М — doit, больше М — doit1. Но проверка на 0 (очевидно она до М) внутри doit. При чём в обоих дуитах!!! Потому как мало ли идиотов этим АПИ воспользуются. Налоги изменятся и привет вечерняя смена)
Это азбука.

Ответить | Правка | Наверх | Cообщить модератору

131. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 10:25 
>Массив = parse_data();
>для каждого Элемент из Массив цикл
>doit(Элемент);
>конеццикла;

Клован, у тебя же одно с другим не вяжется. Постом раньше parse_data у тебя в цикле вызывался, теперь - до цикла, один раз. WTF? Ты всех за идиотов держишь, или сам настолько дурак, что даже корректный пример высосать из пальца не можешь?

Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

125. "Компания Apple объявила о скором переводе языка Swift в разр..."  –2 +/
Сообщение от клоун (?), 10-Июн-15, 02:46 
С делением на ноль аналогично: меньше проверок - и жизнь станет приятнее.

Я понимаю, что я тебе сейчас на яйца наступаю. И когда пройдёт возмущение, если не противиться, ты сможешь почувствовать что это удобно и приятно.

А проверку ты можешь написать независимо от того: будет исключение или не будет.

Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

127. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 10-Июн-15, 03:16 
Вау! сколько бреда ты выкатил... И где деление на 0?

И самое главное!!!
Где доказательство того, что если твой doit(mas) выдаст 0, то тебе бухгалтерия не надает по шапке? У?

Ну например (вы там с лимонными таблицами работаете? Вах! Правда что ли?) — а поставим ка ценник за кило по среднезакупочной (можно по партии).
Ну да, закупку тонны сторнировали, но 0 ведь не ошибка нифига, правда?

А пока разраба ловят, купим всем коллективом вскладчину, 0 на десяток точно уж делится.. и не дорого.

Ответить | Правка | Наверх | Cообщить модератору

132. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 10-Июн-15, 10:35 
Вы все всё дальше уходите от синтаксиса ЯП в дебри собственного бреда.
Ответить | Правка | Наверх | Cообщить модератору

134. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от ананим.orig (?), 10-Июн-15, 13:10 
Придурок, это математика.
Никакой синтаксис её не отменит.
Ответить | Правка | Наверх | Cообщить модератору

138. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 15:42 
ТЗ к математическим правилам и правилам языка не имеет абсолютно никакого отношения.
Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

75. "Компания Apple объявила о скором переводе языка Swift в разр..."  +2 +/
Сообщение от анон (?), 09-Июн-15, 17:14 
(Разъясняю особо одаренным)
Ладно Infinity, ладно NaN какой-нибудь, но какого хера при делении на ноль получается НОЛЬ?! Вы этого вообще не заметили?

"Так и есть, смотри" было, разумеется, сарказмом.

Сегодня обнаружил, что и сами Apple уже этот бред убрали, нет больше такого оператора. Если кто думает, что это просто троллинг и его никогда не было: https://books.google.ru/books?id=EAgcCQAAQBAJ&pg=PA273&lpg=P...

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

78. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 09-Июн-15, 17:27 
>Сегодня обнаружил, что и сами Apple уже этот бред убрали, нет больше такого оператора

Посмотрел бы я на лицо клована сейчас. А ведь как защищал, как защищал он своих хозяев на форуме от людей, имеющих начальное образование!..

Ответить | Правка | Наверх | Cообщить модератору

81. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от тот анон (?), 09-Июн-15, 18:12 
У меня вообще ощущение, что аппле осознанно стебется над своими клоунами в последнее время. (У самого тоже мак есть - но исключительно ради разработки на том же свифте, а не для повседневного использования)
Ответить | Правка | Наверх | Cообщить модератору

89. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 09-Июн-15, 19:00 
Что это меняет?

Знаешь, на парусных кораблях был не штурвал, а румпель и чтобы повернуть вправо его нужно было поворачивать влево и наоборот. Потом появился штурвал и рулевой на команду капитана "право руля!" отвечал "есть, лево руля!".

В России это отменили только в начале 19-ого века, когда утопили 2 корабля.

Сколько раз программа должна вылететь в самом неподходящем месте (АЭС, спутники, ..) чтобы дошло простая истина: прерывание выполнения из-за параметров арифметической операции недопустимо.

Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

97. "Компания Apple объявила о скором переводе языка Swift в разр..."  +3 +/
Сообщение от анон (?), 09-Июн-15, 19:28 
точно, пусть у нас программа продолжит работу, неверно что-то рассчитав, и начислит тебе нулевую зарплату, или взорвет что-нибудь там к х*ям :3

или мы будем об этом нуле при нуле таки помнить, клоун?

Ответить | Правка | Наверх | Cообщить модератору

105. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 09-Июн-15, 21:44 
Представил расчет относительных запуску координат.
Улыбнуло.
Ответить | Правка | Наверх | Cообщить модератору

106. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от ананим.orig (?), 09-Июн-15, 21:46 
Зыж
С другой стороны — айфон с боеголовкой — уже анекдот.
Ответить | Правка | Наверх | Cообщить модератору

139. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 16:26 
По его навигации некоторые машины водят.
Я кажется догадываюсь как в этом году одна бабуля в ON умудрилась на встречку на хайвее(!!!) выехать! :)
Ответить | Правка | Наверх | Cообщить модератору

140. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 16:30 
> Что это меняет?

Это меняет всё.

> Сколько раз программа должна вылететь в самом неподходящем месте (АЭС, спутники, ..)
> чтобы дошло простая истина: прерывание выполнения из-за параметров арифметической
> операции недопустимо.

Господи какой идиот! Эталонный - хоть в палату мер и весов.

PS: Пройди школу снова, начиная с младших классов. Ну там яблочки на уроке подели, может через следующие 10 лет дойдёт.

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

90. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 09-Июн-15, 19:02 
Проблема, о котором нужно постоянно помнить, рано или поздно приведёт к катастрофе.
Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

100. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 09-Июн-15, 20:58 
> Проблема, о котором нужно постоянно помнить, рано или поздно приведёт к катастрофе.

Ты на вопрос не ответил.

Ответить | Правка | Наверх | Cообщить модератору

91. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Аномсисemail (?), 09-Июн-15, 19:03 
> Ладно Infinity, ладно NaN какой-нибудь, но какого хера при делении на ноль получается НОЛЬ?! Вы этого вообще не заметили?

А кто тебе сказал, что при делении на 0 получается НОЛЬ ?

Раздели в этом языке, что-нибудь на ноль и тебе выдаст исключение.

Обсуждаемый же оператор -- это не простое деление.
Для простого деления по всем правилам математики есть соответствующий оператор "/".

А вот это "&/" означает, что в случае деления на 0 приравнять к переменной 0, а в остальных случаях делить как обычно.
Как описали выше -- эта конструкция("&/") заменяет выражение "Делитель==0 ? 0 : Значение/Делитель".

Или по-твоему противозаконно к переменной приравнивать ноль в таких случаях ?
Надо обязательно приравнивать nan ?

Это не математика, а программирование и переменные тут многофункциональны.

И ещё -- разве в математике операция деления обозначается таким символом "&/" ?

Ответить | Правка | К родителю #75 | Наверх | Cообщить модератору

99. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Аноним (-), 09-Июн-15, 20:55 
>Обсуждаемый же оператор -- это не простое деление.

Клован, например, утверждает, что это и есть единственно правильный оператор деления, ПАТАМУШТА ОН НЕ КИДАЕТ ИСКЛЮЧЕНИЙ ПРИ НОЛЕ.

Ответить | Правка | Наверх | Cообщить модератору

104. "Компания Apple объявила о скором переводе языка Swift в разр..."  –1 +/
Сообщение от клоун (?), 09-Июн-15, 21:39 
Молодец клоун. Я с ним полностью согласен. Побольше бы таких людей.
Ответить | Правка | Наверх | Cообщить модератору

122. "Компания Apple объявила о скором переводе языка Swift в разр..."  +1 +/
Сообщение от Аноним (-), 10-Июн-15, 01:50 
> Молодец клоун. Я с ним полностью согласен. Побольше бы таких людей.

Молодец, конечно, только перелогиниться забыл.

Ответить | Правка | Наверх | Cообщить модератору

126. "Компания Apple объявила о скором переводе языка Swift в разр..."  –2 +/
Сообщение от клоун (?), 10-Июн-15, 02:48 
Сам себя не похвалишь - никто не похвалит.

Клоун - это не логин.

Клоуном может быть любой. Я все и я никто. Я везде и меня нигде нет. Однажды один из пользователей уже осознал, что это он "клоун Стаканчик" и зарегился под этим логином. Может, вы станете следующим кто поймёт что он клоун, видящий в моих словах отражение своих мыслей?

Ответить | Правка | Наверх | Cообщить модератору

141. "Компания Apple объявила о скором переводе языка Swift в разр..."  +/
Сообщение от Аноним (-), 10-Июн-15, 16:32 
> Молодец клоун. Я с ним полностью согласен. Побольше бы таких людей.

Ну а дрюкни сам себя, да и размножься ... Видео на прон.ру выложить не забудь! :)))

Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру