javascriptの書籍にトップレベルコードという用語は、関数の外に書いたコードであると書いてありましたが、これは別のプログラミング言語でも同様なのでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
Swiftが「Top-Level Code」という表現を使っているようです。
参考: The Swift Programming Language (Swift 2.1): Declarations
「トップレベルコード」は無いですけど、Rubyには「トップレベル」があります。
参考: Ruby用語集 (Ruby 2.3.0)
ただし、ECMAScript 2015の仕様書には「top-level」や「top level」という表現はありますが、「top level code」という表現は無いようです。「トップレベルコード」という言葉は言語仕様としての公式用語ではないと思われます。
他の多くの言語にも「トップレベル」と似たような概念は存在しますが、言語の用語として採用しているかどうかか言語によるかと思います。ただ、ほとんどの場合は、関数やクラスの一番外側の意味で使われるようです。ECMAScript 2015より前のJavaScriptではクラスが無かったため「関数の外側」だけで良かったのですが、ECMAScript 2015に対応した最新のJavaScriptでは、クラスがあるためその説明では不十分である事に注意すべきかと思います。
投稿2016/01/27 13:37
総合スコア21784
0
こんにちは。
「トップレベルコード」は私も聞いたことないです。専門用語ではなく「トップレベルにあるコード」という表現ではないかと思います。
関数の外に書いたコードである
関数の外ってクラスの中も含みますよね? クラスの中をトップレベルと表現することはあまりないように思います。少なくともC++では聞いたことないです。
C言語の場合は、関数や構造体の中に関数を定義できないので、「関数の外」をトップレベルと表現しても違和感は感じないです。
でも、Javaにはグローバル関数がないので「クラスの外に書いたコードである」の間違いでは?
一番外側のクラスの外に書いたコードなら、トップレベルコードと表現しても違和感は感じないです。
投稿2016/01/27 11:58
総合スコア23274
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
「トップレベルコード」という言葉は初めて聞きましたが、「トップレベル」というのは関数など何か囲んで定義したものの外に実行文が書ける言語では、そのどこにも属さない外側の部分という意味で使われていると思います。
追記:
と書いて、ふと思いましたが、どこにも属さない外側に実行文が書けないが宣言文が書ける言語の場合に、そこの部分を「トップレベル」と呼ぶのでしょうか?私は呼ばない気がしていますが。
投稿2016/01/27 11:50
編集2016/01/27 12:22総合スコア86367
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/28 03:14