3

私はまだレベル 60 の魔法使いではないので、ウィキペディアの魔法に関する記事の次の文に基づいて質問があります。

コードに影響を与えるコメントはすべて魔法です。

それはどうですか?そのようなことはどの言語で可能ですか?より具体的には、コメントはコードにどのような影響を与えることができますか?

4

3 に答える 3

4

マジック コメントにはさまざまな形式があります。Ruby では、ファイルの先頭にコメントを配置できます。これは、ファイルを読み取るときにインタープリターが使用するエンコーディングを指定します。

# -*- coding: UTF-8 -*-

もっと


Unix システムでは、最初の行をシバンにすることができます。コメントにオクトソープを使用する言語では、これは、ファイルの解釈方法を決定するために OS が読み取るコメントになります。

#!/bin/bash
echo hello from bash

もっと


Haskell では、プラグマと呼ばれる特定の種類のコメントを使用して、言語機能のオン (またはオフ) を切り替えることができます。

{-# LANGUAGE OverlappingInstances, NoTypeFamilies #-}

もっと

于 2012-08-21T23:19:00.327 に答える
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__);
}

これは発言の著者が意図したものではないことは確かなので、発言は正確ではありません。「魔法」のコメント構文の特殊なケースです。

于 2012-08-21T23:15:46.020 に答える
0

それらの「魔法の」コメントも取得します...それらのコメントを残しておくとすべてが正常に機能するコメントアウトされたセクション。それらを削除してからpoof、何も機能しません。(これらは通常、コメントが解除されたセクションの途中に 1 行あることが原因で発生します)

(コメントは魔法です)

于 2012-08-24T13:51:34.873 に答える