エントリポイント

提供: MonoBook
ナビゲーションに移動 検索に移動

エントリポイント英語:entry point)とは、プログラムを実行する際の開始地点のことである。サブルーチンという用語を用いるプログラミング言語ではメインルーチンと呼ぶこともある。

概要[編集 | ソースを編集]

スクリプト言語などでは明確なエントリポイントが存在せず、ソースコードの先頭をエントリポイントとするものが多い。また、PythonRubyPerlなどのように同一ソースコードでも呼ばれ方の違いにより、メインルーチンとして動いたり、ライブラリとして動いたりということを容易に切り替えれるプログラミング言語もある。

記述例[編集 | ソースを編集]

C#[編集 | ソースを編集]

namespace HelloWorld 
{
    class Hello 
    {
        public static void Main(string[] args)
        {
            // something in my house
        }
    }
}

Java[編集 | ソースを編集]

public class HelloWorld {
    public static void main (String[] args) {
        // something in my house
    }
}

Python[編集 | ソースを編集]

if __name__ == "__main__":
    # something in my house

Ruby[編集 | ソースを編集]

if $0 == __FILE__
    # something in my house
end

Perl[編集 | ソースを編集]

if ($0 eq __FILE__) {
    # something in my house
}
1; #←は「return 1;」の省略表記。

PHP[編集 | ソースを編集]

現状わかっている最強の方法[編集 | ソースを編集]

if (!debug_backtrace()) {
    // これ最強
}

コマンドラインの場合[編集 | ソースを編集]

<?php
if (isset($argv[0]) && __FILE__ === realpath($argv[0])) {
    // something in my house
}

Apacheモジュールの場合[編集 | ソースを編集]

<?php
if (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) {
    // something in my house
}

F#[編集 | ソースを編集]

[<EntryPoint>]
let main args =
    // something in my house
    // 0を返して正常終了
    0

Haskell[編集 | ソースを編集]

{- Haskell "hello, world" -} 
main = putStrLn "hello, world" -- putStrLn は文字列を出力する

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]