Кто-нибудь использует именованные логические операторы?

Вы не можете разобрать HTML-код [X] с регулярным выражением. Поскольку HTML не может быть проанализирован с помощью регулярных выражений. Regex не является инструментом, который можно использовать для правильного анализа HTML. Поскольку я уже много раз отвечал в вопросах HTML-и-regex, использование регулярных выражений не позволит вам потреблять HTML. Регулярные выражения - это инструмент, который недостаточно совершенен для понимания конструкций, используемых HTML. HTML не является регулярным языком и, следовательно, не может быть проанализирован с помощью регулярных выражений. Запросы Regex не имеют возможности разбивать HTML на его значимые части. так много раз, но это не доходит до меня. Даже расширенные нерегулярные регулярные выражения, используемые Perl, не справляются с задачей анализа HTML. Вы никогда не заставите меня взломать. HTML - это язык достаточной сложности, который не может быть проанализирован с помощью регулярных выражений. Даже Джон Скит не может анализировать HTML, используя регулярные выражения. Каждый раз, когда вы пытаетесь проанализировать HTML с регулярными выражениями, нечестивый ребенок плачет кровью девственниц, а русские хакеры выкладывают ваш webapp. Разбор HTML с регулярным выражением вызывает тайные души в царство живых. HTML и регулярное выражение идут вместе, как любовь, брак и ритуал детоубийства. «Центр» не может удерживать слишком поздно. Сила регулярных выражений и HTML вместе в одном и том же концептуальном пространстве уничтожит ваш разум как много водянистую замазку. Если вы анализируете HTML с регулярным выражением, вы даете им и их богохульные способы, которые обрекают нас всех на бесчеловечные труды для Того, чье имя не может быть выражено на Основном многоязычном плане, он приходит. HTML-plus-regexp сжигает n erves разумного, пока вы наблюдаете, ваша психика увядает в натиске ужаса. Основанные на языке Rege̿̔̉x HTML-парсеры - это рак, который убивает StackOverflow, слишком поздно, что слишком поздно мы не можем спасти trangession of child, гарантирует, что регулярное выражение будет потреблять всю живую ткань (за исключением HTML, который он не может, как ранее пророчествовал) дорогой лорд помогите нам, как кто-либо сможет выжить в этом бедствии, используя регулярное выражение для анализа HTML, обрек человечество на вечность страшных пыток и дыр в безопасности, используя регулярное выражение в качестве инструмента для обработки HTML, устанавливает нарушение между этим миром и областью страха сущностных сущностей (например, SGML-сущностей , но более коррумпированный), простое представление о мире reg ex parsers для HTML будет вставлять , тантьё переносить сознание программиста в мир непрестанного крика, он приходит, зловонная слизистая регулярная инфекция wil l пожирайте ваш парсер, приложение и существование в HT ML на все время, например Visual Basic, только хуже, он приходит, не делает h e com̡e̶s, ̕h̵i s неудовлетворительное радианское разрушение все улучшения, HTML-теги lea͠ki̧n͘g fr̶ǫm ̡yo ͟ur eye͢s̸ ̛l̕ik͏e liq uid pain, песня reggular exp ression parsing будет распространять голоса mor tal man из sp здесь я вижу, что вы можете видеть, что это красиво. f inal snuf пальцы лжи s человека ALL IS LOŚ͖̩͇̗̪̏̈T A LL I SL OST pon̷y он приходит, он c̶̮omes он co mes the ich или пронизывает весь МОЙ ЛИЦ МОЙ ЛИЦО ᵒh god n o NO NOO̼ O ON Θ остановить a * ̶͑̾̾ ̅ͫ͏̙̤g͇̫͛͆̾ͫ̑͆l͖͉̗̩̳̟̍ͫͥͨe̠̅s ͎a̧͈͖r̽̾̈́͒͑e n ot rè̑ͧ̌aͨl̘̝̙ͤ̾̆ ZA̡͊͠͝LGΌ ISͮ҉̯͈͕̹̘ T O͇̹̺Ɲ̴ȳ̳ TH̘ Ë͖̉ ͠P̯͍̭O̚ N̐Y̡ H̸̡̪̯ͨ͊̽̅̾Ȩ̬̩̾͛ͪ̈͘ ̶̧̨̹̭̯ͧ̾ͬC̷̙̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝ S̨̥̫͎̭ͯ̿̔

< hr>

Вы пробовали использовать синтаксический анализатор XML в stead?


Замечание модератора

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

13
задан stefaanv 9 July 2009 в 11:36
поделиться

12 ответов

Раньше они не поддерживались. И даже сейчас вам нужно дать некоторым компиляторам специальный переключатель, чтобы включить эти ключевые слова. Вероятно, это потому, что старая кодовая база могла иметь некоторые функции || переменные с именами «и» или «не».

7
ответ дан 1 December 2019 в 17:20
поделиться

«Что в имени? То, что мы называем &&, || или! Под любым другим именем пахло бы так же сладко ».

Другими словами, естественность зависит от того, к чему вы привыкли.

9
ответ дан 1 December 2019 в 17:20
поделиться

Мне нравится идея оператора not , потому что он более заметен, чем оператор ! . Например:

if (!foo.bar()) { ... }

if (not foo.bar()) { ... }

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

19
ответ дан 1 December 2019 в 17:20
поделиться

Хотя я довольно давно занимаюсь программированием на C ++, я не знал, что ключевые слова «и» или «и не» разрешены, и я' я никогда не видел, чтобы он использовался.

Я просмотрел свою книгу по C ++ и нашел небольшой раздел, в котором упоминалось альтернативное представление для обычных операторов «&&», «||» и "!", где объясняется, что они доступны для людей с нестандартными клавиатурами, у которых нет "&! |" символы.

Немного похоже на триграфы в C.

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

5
ответ дан 1 December 2019 в 17:20
поделиться

Операторы орграфа и триграфа на самом деле были разработаны больше для систем, которые не поддерживали стандартный набор символов ASCII - таких как мэйнфреймы IBM (которые используют EBCDIC). В былые времена механических принтеров существовала штука, называемая «цепочка печати из 48 символов», которая, как следует из названия, содержала только 48 символов. AZ (прописные буквы), 0–9 и несколько символов. Поскольку одним из отсутствующих символов было подчеркивание (которое отображалось как пробел), это могло сделать работу с такими языками, как C и PL / 1, по-настоящему забавным занятием (это 2 слова или одно слово с подчеркиванием ???).

Традиционный C / C ++ кодируется с помощью символов, а не орграфов. Хотя я, как известно, использовал #define "NOT", поскольку это делает значение логического выражения более очевидным, и это '

3
ответ дан 1 December 2019 в 17:20
поделиться

Одна из проблем с их использованием (по крайней мере для меня) заключается в том, что в MSVC вы должны включить iso646.h или использовать (в основном непригодный) переключатель / Za.

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

Хотя я уверен, что преодолел бы эту проблему, если бы их использование стало более универсальным. Если бы это произошло, то у меня была бы проблема, что некоторые логические операторы имеют ключевые слова, а другие нет, поэтому, если использовались альтернативные ключевые слова, вы могли бы увидеть такие выражения, как:

if ((x not_eq y) and (y == z) or (z <= something)) {...}

, когда мне кажется, у них должны быть альтернативные токены для все операторы (по крайней мере, сравнения):

if ((x not_eq y) and (y eq z) or (z lt_eq something)) {...}

Это связано с тем, что альтернативные ключевые слова (а также орграфы и триграфы) были предоставлены не для того, чтобы сделать выражения более удобочитаемыми - это произошло потому, что исторически существовали (и, возможно, все еще существуют) клавиатуры и / или кодовые страницы в некоторых местах, которые не содержат определенных знаков препинания. Например, в неизменяемой части кодовой страницы ISO 646 (сюрприз) отсутствуют, среди прочего, символы « | », « ^ » и « ~ ».

7
ответ дан 1 December 2019 в 17:20
поделиться

Хотел бы я использовать || и && в нормальной речи. Люди очень стараются неправильно понять, когда я говорю «и» или «или» ...

3
ответ дан 1 December 2019 в 17:20
поделиться

Лично мне нравится, когда операторы выглядят как операторы. Это все математика, и если вы не начнете использовать операторы «сложить» и «вычесть», это начнет выглядеть немного непоследовательно.

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

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

2
ответ дан 1 December 2019 в 17:20
поделиться

В тех случаях, когда я программирую с именами, напрямую сопоставленными с реальным миром, я обычно использую «и» и «или», например:

if(isMale or isBoy and age < 40){}
2
ответ дан 1 December 2019 в 17:20
поделиться

Итак, подведем итог: он не используется много из-за следующей комбинации

  • старого кода, где он не использовался
  • привычка (более стандартная)
  • вкус (более похожий на математику )

Спасибо за ваши мысли

1
ответ дан 1 December 2019 в 17:20
поделиться

Приятно использовать их в Eclipse + gcc, поскольку они выделены. Но тогда код не компилируется с некоторыми компиляторами: - (

2
ответ дан 1 December 2019 в 17:20
поделиться

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

1
ответ дан 1 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: