「エントリポイント」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator (→記述例) |
imported>Fallout New Tokyo |
||
(2人の利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
− | ''' | + | '''エントリポイント'''([[英語]]:entry point)とは、[[プログラム]]を実行する際の開始地点のことである。[[サブルーチン]]という用語を用いる[[プログラミング言語では]]'''メインルーチン'''と呼ぶこともある。 |
− | [[スクリプト言語]] | + | == 概要 == |
− | + | [[スクリプト言語]]などでは明確なエントリポイントが存在せず、[[ソースコード]]の先頭をエントリポイントとするものが多い。また、[[Python]]や[[Ruby]]、[[Perl]]などのように同一[[ソースコード]]でも呼ばれ方の違いにより、メインルーチンとして動いたり、ライブラリとして動いたりということを容易に切り替えれる[[プログラミング言語]]もある。 | |
== 記述例 == | == 記述例 == | ||
− | |||
=== [[C Sharp|C#]] === | === [[C Sharp|C#]] === | ||
<source lang="csharp"> | <source lang="csharp"> | ||
51行目: | 50行目: | ||
=== [[PHP]] === | === [[PHP]] === | ||
+ | ==== 現状わかっている最強の方法 ==== | ||
+ | <source lang="php"> | ||
+ | if (!debug_backtrace()) { | ||
+ | // これ最強 | ||
+ | } | ||
+ | </source> | ||
+ | |||
==== コマンドラインの場合 ==== | ==== コマンドラインの場合 ==== | ||
<source lang="php"> | <source lang="php"> |
2014年2月27日 (木) 02:40時点における最新版
エントリポイント(英語:entry point)とは、プログラムを実行する際の開始地点のことである。サブルーチンという用語を用いるプログラミング言語ではメインルーチンと呼ぶこともある。
目次
概要[編集 | ソースを編集]
スクリプト言語などでは明確なエントリポイントが存在せず、ソースコードの先頭をエントリポイントとするものが多い。また、PythonやRuby、Perlなどのように同一ソースコードでも呼ばれ方の違いにより、メインルーチンとして動いたり、ライブラリとして動いたりということを容易に切り替えれるプログラミング言語もある。
記述例[編集 | ソースを編集]
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 は文字列を出力する