動的スクープを使用して変数がこの順序で非表示になっている理由がわかりません

複雑さyy

(動的スコープ)の使用

procedure Main is
     X, Y, Z : Integer;
     procedure Suba is
        A, Y, X : Integer;
        begin
          -- Suba body
        end;
     procedure Subb is
        A, B, Z : Integer;
        begin
        -- Subb body
        end;
     procedure Subc
        A, X, W : Integer;
        begin
        --- Subc body
        end;
        begin
        --- Main body
        end;

問題は次のとおりです。呼び出しシーケンスについて、最後のプロシージャMainがSubaを呼び出すときに表示される変数を記述します。SubaはSubbを呼び出します。SubbはSubcを呼び出します

答えはなぜですか:Suba:A、X、W Subb:B、Z Subc:Y

私はそれを試してみましたが、それがどのように答えであるかわかりません誰もが説明を提供できます

チェプナー

各呼び出しは、呼び出し元に表示される変数を「継承」し、独自の変数を導入します。呼び出しが呼び出し元の変数と同じ名前の変数を導入した場合、呼び出し元の変数はシャドウされます。内側から見えるように、このようなレイヤーを想像してSubcください:

Main                       X   Y   Z
Suba         A                 Y   Z
Subb         A   B                 Z
Subc         A          W  X

表示される変数は、下から見上げた各列の最初の変数です。これは、への呼び出しの内側からSubc、次のことを確認できることを示しています。

* `A`, `W`, and `X` as defined by `Subc`.
* `B` and `Z` as defined by `Subb`.
* `Y` as defined by `Suba`.

これは、ロール状の反転SubaSubcあなたが質問に言及ように。Subaまったく定義さWれていないため、その答えは実際には意味がありません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Webサイトをスキャンして、開いているポートを確認しようとしています。ループを使用しているときにこのロジックが機能しない理由がわかりません

分類Dev

空のphp変数でこれが起こっている理由がわかりません

分類Dev

Javascript-配列を使用してHTMLコンテンツの順序を変更しようとしているCodepen関数は機能していますが、あまりよくありません理由がわかりません

分類Dev

基本クラスで可能なインターフェイスをテストすることが間違っている理由がわかりません

分類Dev

setプロパティを使用してコンストラクター関数の実行コンテキストで定義された値を設定しても値が変更されない理由がわかりません

分類Dev

2つのスレッドで同じ変数を使用していますが、Javaで更新されない理由がわかりません

分類Dev

ある数値を別の配列にコピーしようとしていますが、「インデックスが配列の範囲外でした」というメッセージが表示され続け、理由がわかりません。

分類Dev

構造体のC ++プライベート変数がミューテーター関数を使用せずに変更されている理由がわかりませんか?-OpenGLパーティクルシステム

分類Dev

ドロップダウンメニューが非表示になっていない理由がわかりません

分類Dev

このプログラムを実行している間、char関数は変数を返します。理由がわかりませんか?

分類Dev

要素が非表示/非表示になっている関数で、javascriptを使用してアンカーポイントに移動(スクロールではない)

分類Dev

ドライバーが整数/数値で作業していると考え、テキストの代わりにnullを表示しているため、ADOを使用してCSVからデータを読み取ることができません

分類Dev

符号付きと符号なしの間の変換についてこの警告が表示される理由がわかりません。コンパイラが間違っていますか?

分類Dev

タイプ 'メソッドグループ'の式に[]を使用したインデックス付けを適用することはできません。何が起こっているのかわからない

分類Dev

SFML / C ++スプライトがスコープ外になっているため、白いボックスとして表示されています。どこにあるかわかりません。

分類Dev

サポートされていないオペランドタイプについてこのTypeErrorが発生し続ける理由がわかりません

分類Dev

私はレールに慣れていないので、コードで何が起こっているのかわかりませんが、idを使用して検索してデータベースからデータをフィルタリングしたいのですが、どうすればよいですか?

分類Dev

FragmentStatePagerAdapterがリークしていて、LeakCanaryを使用している理由がわかりません

分類Dev

FragmentStatePagerAdapterがリークしていて、LeakCanaryを使用している理由がわかりません

分類Dev

使用済みのjdbc接続がリークしているようで、理由がわかりません

分類Dev

ブートストラップd-を使用して異なる画面サイズで表示するためにいくつかの要素を非表示にすることは私には機能しません。理由を説明してください

分類Dev

ディスクを使用していますが、どこにあるのかわかりません

分類Dev

この「if」ステートメントの何が問題になっているのかわかりません

分類Dev

Pythonでのこのサークルバウンス計算の何が問題になっているのかわかりません

分類Dev

Androidプロジェクトで「JSONObjectをJSONArrayに変換できません」のようにJSONをパーシングしているときに、なぜ例外が表示されるのかわかりません。

分類Dev

Pythonの出力がループしている理由がわかりません

分類Dev

画像の中央にテキストを配置しようとしています。ここで何が間違っているのかわかりません

分類Dev

response.onを使用している理由がわかりません

分類Dev

順序付けされていないリストのHTMLリンクは、ホバーしても色が変わりません

Related 関連記事

  1. 1

    Webサイトをスキャンして、開いているポートを確認しようとしています。ループを使用しているときにこのロジックが機能しない理由がわかりません

  2. 2

    空のphp変数でこれが起こっている理由がわかりません

  3. 3

    Javascript-配列を使用してHTMLコンテンツの順序を変更しようとしているCodepen関数は機能していますが、あまりよくありません理由がわかりません

  4. 4

    基本クラスで可能なインターフェイスをテストすることが間違っている理由がわかりません

  5. 5

    setプロパティを使用してコンストラクター関数の実行コンテキストで定義された値を設定しても値が変更されない理由がわかりません

  6. 6

    2つのスレッドで同じ変数を使用していますが、Javaで更新されない理由がわかりません

  7. 7

    ある数値を別の配列にコピーしようとしていますが、「インデックスが配列の範囲外でした」というメッセージが表示され続け、理由がわかりません。

  8. 8

    構造体のC ++プライベート変数がミューテーター関数を使用せずに変更されている理由がわかりませんか?-OpenGLパーティクルシステム

  9. 9

    ドロップダウンメニューが非表示になっていない理由がわかりません

  10. 10

    このプログラムを実行している間、char関数は変数を返します。理由がわかりませんか?

  11. 11

    要素が非表示/非表示になっている関数で、javascriptを使用してアンカーポイントに移動(スクロールではない)

  12. 12

    ドライバーが整数/数値で作業していると考え、テキストの代わりにnullを表示しているため、ADOを使用してCSVからデータを読み取ることができません

  13. 13

    符号付きと符号なしの間の変換についてこの警告が表示される理由がわかりません。コンパイラが間違っていますか?

  14. 14

    タイプ 'メソッドグループ'の式に[]を使用したインデックス付けを適用することはできません。何が起こっているのかわからない

  15. 15

    SFML / C ++スプライトがスコープ外になっているため、白いボックスとして表示されています。どこにあるかわかりません。

  16. 16

    サポートされていないオペランドタイプについてこのTypeErrorが発生し続ける理由がわかりません

  17. 17

    私はレールに慣れていないので、コードで何が起こっているのかわかりませんが、idを使用して検索してデータベースからデータをフィルタリングしたいのですが、どうすればよいですか?

  18. 18

    FragmentStatePagerAdapterがリークしていて、LeakCanaryを使用している理由がわかりません

  19. 19

    FragmentStatePagerAdapterがリークしていて、LeakCanaryを使用している理由がわかりません

  20. 20

    使用済みのjdbc接続がリークしているようで、理由がわかりません

  21. 21

    ブートストラップd-を使用して異なる画面サイズで表示するためにいくつかの要素を非表示にすることは私には機能しません。理由を説明してください

  22. 22

    ディスクを使用していますが、どこにあるのかわかりません

  23. 23

    この「if」ステートメントの何が問題になっているのかわかりません

  24. 24

    Pythonでのこのサークルバウンス計算の何が問題になっているのかわかりません

  25. 25

    Androidプロジェクトで「JSONObjectをJSONArrayに変換できません」のようにJSONをパーシングしているときに、なぜ例外が表示されるのかわかりません。

  26. 26

    Pythonの出力がループしている理由がわかりません

  27. 27

    画像の中央にテキストを配置しようとしています。ここで何が間違っているのかわかりません

  28. 28

    response.onを使用している理由がわかりません

  29. 29

    順序付けされていないリストのHTMLリンクは、ホバーしても色が変わりません

ホットタグ

アーカイブ