動的スコープ
Sign in to saveIn the Vinony graph
Within Vinony's link graph, 動的スコープ connects to scope.
Its subject is documented across 5 Wikipedia language editions.
Wikidata facts
- Subclass of
- scope
Show 2 more facts
- opposite of
- lexical scope
- Stack Exchange tag
- stackoverflow.com/tags/dynamic-scope
via Wikidata · CC0
Article · 日本語
動的スコープ、ダイナミックスコープ(英語: dynamic scope)とは、プログラミング言語におけるスコープの一種である。 動的スコープは、実行時の親子関係の子側(呼び出された側)から親側(呼び出し側)のスコープを参照できるスコープである。このとき参照されるのは、親子関係を親側に辿り、より近いブロックにある変数である。以下の疑似コードでは: A { print x}B { var x call A // Aの中からxを参照することができる}C { var y call A // Aの中からxを参照することはできない} ブロックBから呼び出されたブロックAは、ブロックBで定義されている変数xを参照できる。一方、ブロックCから呼び出されたブロックAは、ブロックBで定義されている変数xは参照できない。 動的スコープは強力な反面、ミスを招きやすいため使用に注意が必要である。例えば以下の疑似コードでは呼び出し元ブロックによって変数の値が変化することを示している。 var x = 123A { var x = 456 call C // 456と出力される}B { call C // 123と出力される}C { print x // 呼び出し元によって x の値が変わる} 動的スコープの例としては古典LISPやEmacs Lisp、LOGO、Perl(「local」宣言した変数)、Bash(関数内で「local」宣言した変数)などがある。
Abstract from DBpedia / Wikipedia · CC BY-SA