2

哪些语言有副作用?本质上,评论不是评论......

4

8 回答 8

4

英语。我赢了吗?

于 2008-12-15T22:57:10.487 回答
4

DOS 批处理 Shell 编程

REM(备注)允许您添加评论。但它具有将 ERRORLEVEL 变量修改为 0 的副作用。

从某种意义上说,它使最后一次手术成功了。

我不知道评论是如何失败的,但如果确实如此,你就会被覆盖。

于 2008-12-26T20:44:16.903 回答
3

我可以想到几个评论不是真正评论的地方。

  • HTML 和脚本标签(为不允许或支持脚本的浏览器提供支持)。

然后,更加模糊:

  • IBM Informix 4GL (I4GL) 和 4J 的 Genero(Informix Dynamic 4GL、D4GL 的继任者)。D4GL 使用符号“ --#”来包括仅适用于 D4GL 的材料;I4GL 会将其视为评论。反向符号是 ' --@',看起来像是对 D4GL 的注释,但被 I4GL 视为活性材料。

而且,更模糊的是:

  • 我利用 I4GL 的多种注释功能编写了一个双语言 I4GL 文件。以“ ”(哈希)开头的材料#标记了字符串之外的注释的开始 - 直到下一个换行符,“ --”(双破折号)也是如此。此外,' {...}'(大括号)包含多行注释。
  • 源文件的顶部实际上是一个 shell 脚本,大部分包含在 ' {...}' 中,当然这在 shell 中是完全合法的。shell 脚本是一个数据驱动的代码生成器,它将自身复制到输出的顶部,然后生成大约 100 个函数,这些函数都非常相似但略有不同(在没有模板或预处理器的语言中)。代码必须根据来自外部源(实际上是伦敦劳埃德银行)的传入数据验证给定船舶​​的数据库中的内容,以查看自上次接收外部数据以来发生了什么变化。非常重要的比较工作,特别是因为它必须处理数据库 (SQL) 空值。
  • 该文件并不是真正的 Quine 程序,但与它有一些共同点。特别是,您可以输入脚本损坏的 I4GL 代码,重新生成的文件将再次完美,主要是因为它忽略了现有的 I4GL 代码。
于 2008-12-26T21:01:36.103 回答
2

Haskell 可以通过在注释中添加代码(也包括 Mathematica 等)来颠倒代码范例中的常用注释;文字编程对于更倾向于数学的语言来说是一个很好的特性。

我还发现 Java 中的注释就像带有行为的注释。

于 2008-12-15T22:59:15.833 回答
1

当然还有“多语言”——可以用多种语言编译/执行的程序通常这些依赖于这样一个事实,即同一行是一种语言的注释,但实际上是另一种语言的代码行。

于 2009-02-17T00:44:39.943 回答
1

QBasic 使用了自己的注释:REM $STATICREM $DYNAMIC设置数组的分配方式。

另一个例子:当网络浏览器解析评论时<!-- -- -->in<!-- -- -->correctly

于 2009-05-24T19:30:22.897 回答
0

用于聪明的跨浏览器黑客的 CSS。当然,我不会真正称 CSS 为一种语言。

于 2008-12-15T22:58:16.770 回答
0

偶然发现了这个老问题,我的第一个想法是 javadoc 评论。

于 2011-12-16T16:31:18.257 回答