На каком языке есть комментарии, которые не являются комментариями? - PullRequest
2 голосов
/ 16 декабря 2008

На каких языках есть комментарии с побочными эффектами? По сути, комментарии, которые не комментарии ....

Ответы [ 8 ]

4 голосов
/ 26 декабря 2008

Программирование DOS Batch Shell

REM (Замечание) позволяет вам оставить комментарий. Но у этого есть побочный эффект изменения переменной ERRORLEVEL к 0.

В некотором смысле это делает последнюю операцию успешной.

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

4 голосов
/ 16 декабря 2008

английский. Я выиграю?

3 голосов
/ 27 декабря 2008

Я могу вспомнить несколько мест, где комментарии на самом деле не являются комментариями.

  • HTML и теги сценариев (обеспечивающие поддержку браузеров, которые не разрешают или не поддерживают сценарии).

А потом, гораздо более смутно:

  • IBM Informix 4GL (I4GL) и Genero 4J (преемник Informix Dynamic 4GL, D4GL). Обозначение «--#» использовалось D4GL для включения материала, применимого только к D4GL; I4GL увидит это как комментарий. Обратной нотацией была «--@», которая выглядела как комментарий к D4GL, но была обработана I4GL как активный материал.

И, еще более неясно:

  • Я написал файл I4GL, который был двуязычным, используя возможности множественных комментариев I4GL. Материал, начинающийся с '#' (хеш), обозначал начало комментария вне строк - до следующего перехода на новую строку, как и '--' (двойная черта). Кроме того, '{...}' (фигурные скобки) заключают многострочные комментарии.
  • Вершина исходного файла на самом деле представляла собой сценарий оболочки, в основном заключенный в '{...}', что, конечно, вполне допустимо в оболочке. Сценарий оболочки представлял собой управляемый данными генератор кода, который копировал себя в верхнюю часть вывода, а затем генерировал около 100 функций, которые были удручающе похожи, но немного отличались (на языке без шаблонов или препроцессора). Код должен был проверить то, что было в базе данных для данного корабля, по входящим данным из внешнего источника (фактически, Lloyds of London), чтобы увидеть, что изменилось с момента последнего получения внешних данных. Нетривиальная работа по сравнению, особенно потому, что она имела дело с нулями базы данных (SQL).
  • Файл на самом деле не был программой Quine, но у него были некоторые общие черты. В частности, вы можете подать в сценарий неработающий код I4GL, и восстановленный файл снова будет идеальным, в основном потому, что он игнорирует существующий код I4GL.
2 голосов
/ 16 декабря 2008

Haskell может перевернуть обычные комментарии в парадигме кода вверх ногами, имея код в комментариях - также Mathematica и т. П .; буквальное программирование - хорошая функция для математически более склонных языков.

Я также считаю, что аннотации на Java похожи на комментарии с поведением.

1 голос
/ 24 мая 2009

QBasic использует собственные комментарии: REM $STATIC или REM $DYNAMIC задает способ размещения массивов.

Другой пример: когда веб-браузеры анализируют комментарии <!-- -- -->in<!-- -- -->correctly.

1 голос
/ 17 февраля 2009

Затем, конечно, существуют " полиглоты " - программы, которые можно компилировать / выполнять на нескольких языках. Обычно они основаны на том факте, что одна и та же строка является комментарием на одном языке, но фактической строкой кода на другом.

0 голосов
/ 16 декабря 2011

Просто наткнулся на этот старый вопрос, и моей первой мыслью были комментарии Javadoc.

0 голосов
/ 16 декабря 2008

CSS для умных кросс-браузерных взломов. Конечно, я бы не стал называть CSS языком.

...