我还不是60级精灵,所以基于magic上维基百科文章中的以下句子,我得到了一个问题:
那是怎么回事?用什么语言可以做到这一点?更具体地说,评论可以对代码产生什么影响?任何对代码有影响的评论都是神奇的。
答案 0 :(得分:4)
魔术评论有各种形式。在Ruby中,注释可以放在文件的顶部,它指定解释器在读取文件时将使用的编码:
# -*- coding: UTF-8 -*-
在Unix系统中,第一行可以是一个shebang。在使用octothorpes进行注释的任何语言中,这都会导致操作系统读取的注释以决定如何解释文件
#!/bin/bash
echo hello from bash
在Haskell中,某些类型的注释称为编译指示可用于打开(或关闭)语言功能。
{-# LANGUAGE OverlappingInstances, NoTypeFamilies #-}
答案 1 :(得分:2)
我不会太担心维基百科中的那句话。我认为目的只是说评论“不应该”影响行为(因为那是评论的意思),所以如果它确实那么它必须是某种特殊情况,因此在使用中的定义是“神奇的”文章的那一部分。该文章的那一行的作者并不一定会考虑任何特定的语言。
如果您喜欢迂腐,那么评论很容易影响C中的程序行为(在此示例中包含多个换行符):
#include <stdio.h>
int main() {
/* If this multi-line comment were deleted, then
the line-numbers in the remainder of the file
would be smaller. Boring magic.
*/
printf("%d\n", __LINE__);
}
我很确定这是不该评论的作者所期望的内容,因此这句话并不准确。注释语法的特殊情况是“魔术”。
答案 2 :(得分:0)
你也可以得到那些“神奇”的评论...... 如果您将这些评论留在其中,那么所有内容都可以正常运行。您删除它们然后 poof ,没有任何效果。 (这些通常是由于评论部分中间有一行未注释)
(评论是魔术)