「エントリポイント」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Fallout New Tokyo
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
'''エントリーポイント'''(entry point)とは、[[プログラム]]を実行する際の開始地点のことである。[[サブルーチン]]という用語を用いる[[プログラミング言語では]]'''メインルーチン'''と呼ぶこともある。
+
'''エントリポイント'''([[英語]]:entry point)とは、[[プログラム]]を実行する際の開始地点のことである。[[サブルーチン]]という用語を用いる[[プログラミング言語では]]'''メインルーチン'''と呼ぶこともある。
  
[[スクリプト言語]]などでは[[ソースコード]]の先頭をエントリーポイントとするものが多い。
+
== 概要 ==
また、[[Python]]や[[Ruby]]、[[Perl]]などのように同一[[ソースコード]]でも呼ばれ方の違いにより、メインルーチンとして動いたり、ライブラリとして動いたりということを容易に切り替えれる[[プログラミング言語]]もある。
+
[[スクリプト言語]]などでは明確なエントリポイントが存在せず、[[ソースコード]]の先頭をエントリポイントとするものが多い。また、[[Python]]や[[Ruby]]、[[Perl]]などのように同一[[ソースコード]]でも呼ばれ方の違いにより、メインルーチンとして動いたり、ライブラリとして動いたりということを容易に切り替えれる[[プログラミング言語]]もある。
  
 
== 記述例 ==
 
== 記述例 ==
 
 
=== [[C Sharp|C#]] ===
 
=== [[C Sharp|C#]] ===
 
<source lang="csharp">
 
<source lang="csharp">

2014年2月27日 (木) 02:40時点における最新版

エントリポイント英語: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 は文字列を出力する

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

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

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