Scope (computer science) (original) (raw)

About DBpedia

En programlingvoj, regiono estas tiu parto de la teksto de komputila programo, kie validas deklaro de nomo (precipe de nomo de loka objekto) kaj kie oni rajtas uzi la nomon laŭ tiu deklaro.

Property Value
dbo:abstract في علم الحاسوب، يعتبر المجال لمعرِّف ما (بالإنكليزية Scope) هو الجزء من البرنامج الحاسوبي الذي يمكن فيه استخدام المعرّف -و هو اسم يعود إلى كيان ما في البرنامج- للوصول إلى الكيان المقترن به. لذا، فإن المجال هو السياق في البرنامج الذي يكون فيه المعرّف صالح للاستعمال والوصول إلى الكيان المقترن به. أي بمعنى أخر: عندما يكون الكيان مرئي. في معظم الأحيان، يستخدم مصطلح «المجال» للحديث عن متى يمكن استخدام اسم متغير ما، له «حدود» داخل البرنامج بانتهاء هذا الحد ينتهي عمله ممكن أن نستخدم نفس اسم المتغير في كيان اخر ضمن حدود أخرى في نفس البرنامج لغرض أخر أو قد يكون إلى اللاشئ. ولكنه ينطبق أيضا على كيانات أخرى مثل: الأنواع (أو الأصناف) والوظائف. يعتبر المجال أمرا مهما لتحليل الاسم (name resolution) والذي هو بدوره أساسي لدلالات اللغة (language semantics): فالمعنى الكلي للبرنامج يعتمد على معانى الكلمات المكونة له منفردة. تحليل الاسم (و الذي يشمل أيضا المجال) يختلف من لغة برمجة إلى أخرى، وحتى في البرنامج الواحد فهو يختلف حسب نوع الكيان. تعتبر قواعد المجال -إضافة إلى قواعد أسماء المكتبات- حاسمة ومصيرية في البرمجة التركيبية، كنتيجة لهذا، فإن أي تغير على أي جزء من البرنامج لا يضر بالأجزاء الأخرى التي ليس لها علاقة. وعمليًا معظم لغات البرمجة، تشير «جزء من البرنامج» إلى «جزء من شفرة المصدر (مساحة النص)»، ويعرف بالنطاق المعجمى"ٍStatic scop" يشير «جزء من البرنامج» ماقبل مرحلة التنفيذ أما الذي يشير إلى «جزء من وقت التشغيل (الفترة الزمنية أثناء التنفيذ)»، ويعرف بالنطاق الديناميكي"Dynamic scope." هذان المصطلحان مضللان إلى حد ما - إنهما يسيئان استخدام المصطلحات التقنية، ولكن التمييز نفسه دقيق ودقيق.النطاق المعجمي «الثابت» (Lexical static scope)هو التركيز الرئيسي في هذه المقالة، مع فهم النطاق الديناميكي (Dynamic scope). (ar) Die Sichtbarkeit gibt in der strukturierten und objektorientierten Programmierung an, in welchen Programmteilen die Bezeichnern von Datentypen, Variablen, Funktionen oder Konstanten sowie Prozeduren oder Methoden verwendet werden können, die in einer bestimmten Programmeinheit wie zum Beispiel einer Klasse oder einem Modul definiert wurden. Die Sichtbarkeitsregeln werden in den dazugehörigen Schnittstellen mit Hilfe von Zugriffsmodifikatoren festgelegt. Die übliche Einteilung ist: * öffentlich (Modifikator "public"), auf das Element darf von jeder anderen Klasse aus zugegriffen werden. * geschützt (Modifikator "protected"), auf das Element darf (üblicherweise) nur von derselben oder erweiternden Klassen aus zugegriffen werden. * privat (Modifikator "private"), auf das Element darf nur innerhalb des definierenden Bereiches zugegriffen werden. Um die Möglichkeit von versehentlichen Verwechslungen und Programmierfehlern zu begrenzen, empfiehlt es sich die Sichtbarkeiten von Bezeichnern so weit wie möglich einzuschränken (Abschattung). In strukturierten Programmiersprachen beschränkt sich die Sichtbarkeit der Parameter und lokalen Variablen von Prozeduren, Funktionen und Methoden auf diese selbst. Innerhalb des Sichtbarkeitsbereichs können Datentypen oder Prozeduren rekursiv referenziert werden. Globale Variablen sind in der gesamten entsprechenden Programmeinheit (zum Beispiel in einem Programmpaket, in einem Modul oder in einer Klasse) sichtbar. Viele Programmierer verwenden zur Erleichterung der Unterscheidbarkeit im Quelltext für lokale Variablen und für globale Variablen verschiedene Namenskonventionen, beispielsweise für lokale Variablen Bezeichner, die mit einem Kleinbuchstaben beginnen, und für globale Variablen Bezeichner, die mit einem Großbuchstaben beginnen. (de) En programlingvoj, regiono estas tiu parto de la teksto de komputila programo, kie validas deklaro de nomo (precipe de nomo de loka objekto) kaj kie oni rajtas uzi la nomon laŭ tiu deklaro. (eo) En programación de computadoras, el ámbito (referido mediante su denominación en inglés scope) es el contexto que pertenece a un nombre dentro de un programa. El ámbito determina en qué partes del programa una entidad puede ser usada. Esto sirve para que se pueda volver a definir una variable con un mismo nombre en diferentes partes del programa sin que haya conflictos entre ellos. Si una variable es declarada dentro de un bloque (método/función/procedimiento), esta será válida solo dentro de ese bloque y se destruirá al terminar el bloque. Adicionalmente, la variable no podrá verse ni usarse fuera del bloque (en el exterior del bloque). La variable dentro del bloque es una variable local y solo tiene alcance dentro del bloque que se creó y sus bloques hijos, pero no en bloques hermanos ni padres, una variable definida fuera de cualquier bloque es una variable global y cualquier bloque puede acceder a ella y modificarla. En el caso de programación orientada a objetos (POO), una variable global dentro de una clase es llamada variable de instancia, y cada objeto creado con esa clase tiene una. Adicionalmente existen variables globales que son comunes a un todos los objetos creados con una clase y son llamadas variables de clase. Hay dos tipos de alcances, el estático que también es llamado lexicográfico, donde el alcance se determina en tiempo de compilación, mientras que el alcance dinámico de las variables se verifica en el hilo de ejecución. (es) En informatique, la portée (scope en anglais) d'un identifiant est l'étendue au sein de laquelle cet identifiant est lié. Cette portée peut être lexicale ou dynamique. (fr) In computer programming, the scope of a name binding (an association of a name to an entity, such as a variable) is the part of a program where the name binding is valid; that is, where the name can be used to refer to the entity. In other parts of the program, the name may refer to a different entity (it may have a different binding), or to nothing at all (it may be unbound). Scope helps prevent name collisions by allowing the same name to refer to different objects – as long as the names have separate scopes. The scope of a name binding is also known as the visibility of an entity, particularly in older or more technical literature—this is from the perspective of the referenced entity, not the referencing name. The term "scope" is also used to refer to the set of all name bindings that are valid within a part of a program or at a given point in a program, which is more correctly referred to as context or environment. Strictly speaking and in practice for most programming languages, "part of a program" refers to a portion of source code (area of text), and is known as lexical scope. In some languages, however, "part of a program" refers to a portion of run time (time period during execution), and is known as dynamic scope. Both of these terms are somewhat misleading—they misuse technical terms, as discussed in the —but the distinction itself is accurate and precise, and these are the standard respective terms. Lexical scope is the main focus of this article, with dynamic scope understood by contrast with lexical scope. In most cases, name resolution based on lexical scope is relatively straightforward to use and to implement, as in use one can read backwards in the source code to determine to which entity a name refers, and in implementation one can maintain a list of names and contexts when compiling or interpreting a program. Difficulties arise in name masking, forward declarations, and hoisting, while considerably subtler ones arise with non-local variables, particularly in closures. (en) La visibilità (in inglese scope), in programmazione, è l'esistenza e la possibilità di richiamare un identificatore, in particolar modo una variabile, in un determinato punto del programma. Si parla di identificatori e non solo di variabili, perché lo scope è una caratteristica anche di classi, metodi, blocchi e altri concetti che fanno parte dei linguaggi di programmazione; l'identificatore, in questo caso, è un nome generico (una sequenza di caratteri) che rappresenta quella classe, quel metodo, quel blocco o quella variabile. (it) プログラミングにおけるスコープ(英: scope, 可視範囲)とは、ある変数や関数などの名前(識別子)を参照できる範囲のこと。通常、変数や関数が定義されたスコープの外側からは、それらの名前を用いるだけでは参照できない。このときこれらの変数や関数は「スコープ外」である、あるいは「見えない」といわれる。 プログラミングでは、ソースコードの可読性を向上し、また予期しない誤動作を避けるためにも、それぞれの処理段階で必要のない要素の名前はできるだけ参照されないようにすることが望ましい。特に、複数の関数にまたがったスコープを持つことのできるグローバル変数(大域変数)は便利な場合もあるが、どこで参照・変更されているかを常に気にしていなければならず、不用意な変更は危険でもある。たとえば、CERT C コーディングスタンダードには、「変数と関数の有効範囲を最小限にする」(DCL19-C)というレコメンデーションがある。 通例、入れ子になったスコープ階層ごとに同じ名前の識別子が出現したとき、より内側のスコープに属する識別子のほうが優先的に名前解決に使用される。 (ja) 컴퓨터 프로그래밍에서 변수 영역은 변수가 유효성을 갖는 영역을 가리킨다. 프로그램은 영역을 벗어난 변수를 가리킬 수 없다. 변수 영역을 지정하는 규칙은 크게 정적 영역 규칙과 동적 영역 규칙으로 나뉜다. 정적 영역 규칙을 따르는 언어에서는 변수의 유효 영역이 컴파일 타임에 결정되며, 동적 영역 규칙은 실행 시간에 결정된다. 대부분의 현대 언어는 정적 영역 규칙을 따르지만, 매크로를 컴파일할때는 동적 영역 규칙을 따르기도 한다. (ko) In de informatica wordt met het bereik (gewoonlijk de scope) van een symbool het deel van de broncode aangeduid waarin dat symbool gedefinieerd is. Het beperken van de scope van een symbool maakt het mogelijk dezelfde naam meermaals te gebruiken zonder dat verschillende definities met elkaar in conflict komen. Een andere belangrijke reden is, dat door de scope van een symbool te beperken de interne werking van een deel van een programma of programmabibliotheek kan worden verborgen zodat ongewenste linkage kan worden uitgesloten. Een bekend voorbeeld voor het beperken van een scope zijn lokale variabelen, die alleen binnen de procedure waarin ze zijn gedefinieerd geldig zijn, maar ook namespaces zijn bedoeld om het bereik van een symbool te beperken. Aan welke regels het bereik van een symbool is onderworpen, verschilt van taal tot taal, maar veelal wordt de scope gegeven door het blok waarin het symbool is gedefinieerd. (nl) Область видимости (англ. scope) в программировании — часть программы, в пределах которой идентификатор, объявленный как имя некоторой программной сущности (обычно — переменной, типа данных или функции), остаётся связанным с этой сущностью, то есть позволяет посредством себя обратиться к ней. Говорят, что идентификатор объекта «виден» в определённом месте программы, если в данном месте по нему можно обратиться к данному объекту. За пределами области видимости тот же самый идентификатор может быть связан с другой переменной или функцией, либо быть свободным (не связанным ни с какой из них). Область видимости может, но не обязана совпадать с областью существования объекта, с которым связано имя. Cвязывание идентификатора (англ. binding) в терминологии некоторых языков программирования — процесс определения программного объекта, доступ к которому даёт идентификатор в конкретном месте программы и в конкретный момент её выполнения. Это понятие по сути синонимично области видимости, но может быть более удобно при рассмотрении некоторых аспектов выполнения программ. Области видимости входят друг в друга и составляют иерархию, от локальной области видимости, ограниченную функцией (или даже её частью), до глобальной, идентификаторы которой доступны во всей программе. Также в зависимости от правил конкретного языка программирования области видимости могут быть реализованы двумя способами: лексически (статически) или динамически. Область видимости также может иметь смысл для языков разметки: например, в HTML областью видимости имени элемента управления является форма (HTML) от до . (ru) Em Ciência da Computação escopo é um contexto delimitante aos quais valores e expressões estão associados. Linguagens de programação têm diversos tipos de escopos. O tipo de escopo vai determinar quais tipos de entidades este pode conter e como estas são afetadas, em outras palavras, a sua semântica. Normalmente, o escopo é utilizado para definir o grau de ocultação da informação, isto é, a visibilidade e acessibilidade às variáveis em diferentes partes do programa. Escopos podem: * Conter declarações ou definições de identificadores; * Conter e/ou expressões, que definem um algoritmo executável ou parte dele; * aninhar ou ser aninhados. Um espaço de nomes é um escopo que usa a natureza envolvente do escopo para agrupar identificadores relacionados logicamente sob um identificador único. Assim, os escopos podem afetar a pelo seu conteúdo. Variáveis são associadas com os escopos. Diferentes tipos de escopo afetam como variáveis locais são vinculadas. Isto tem conseqüências diferentes dependendo se a linguagem tem escopo estático (léxico) ou escopo dinâmico. (pt) Zasięg widoczności to w programowaniu fragment programu (np. obszar lub blok kodu) z którym skojarzone są wartości lub wyrażenia (np. zmienne). Różne języki programowania posiadają różne rodzaje zasięgów widoczności. Zasięgu najczęściej używa się do: * kontrolowania cyklu życia zmiennych * kontrolowania widoczności i dostępności zmiennych i stałych w obrębie programu * implementacji hermetyzacji Zasięgi mogą zawierać: * deklaracje lub definicje identyfikatorów (np. zmiennych) * instrukcje lub wyrażenia definiujące wykonywalny algorytm lub jego część * inne, zagnieżdżone zasięgi Przestrzeń nazw jest zasięgiem, który grupuje logicznie powiązane identyfikatory pod pojedynczym identyfikatorem nadrzędnym. W ten sposób zasięgi mogą wpływać na rozwiązywanie nazw w ich obrębie. Zmienne są powiązane z zasięgami. Różne typy zasięgów wpływają na to, jak lokalne zmienne są wiązane. Ma to różne konsekwencje w zależności od tego, czy dany język programowania stosuje statyczne (leksykalne) czy dynamiczne zasięgi. (pl) У комп’ютерному програмуванні область дії зв’язування імені (англ. scope) — зв’язок імені з об’єктом (наприклад, змінною) — це частина програми, де зв’язування імені є дійсним, тобто ім’я може використовуватися для посилання на сутність. В інших частинах програми назва може посилатися на іншу сутність (вона може мати іншу прив’язку) або взагалі ні на що (вона може бути незв’язаною). Область допомагає запобігти зіткненням імен; це дозволяє одній і тій самій назві посилатися на різні об’єкти – якщо імена мають різні області. Область прив’язки імені також відомий як видимість сутності, особливо в старішій або більш технічній літературі — з точки зору сутності, на яку посилається, а не імені, на яке посилається. Термін «область» також використовується для позначення набору всіх зв’язків імен, дійсних у частині програми або в певній точці програми, що правильніше називати контекстом або середовищем. У більшості мов програмування межі дії змінної зумовлені місцем її оголошення. Крім того, межі дії можна зазначити явно за допомогою класів пам'яті або просторів імен. Для більшості мов програмування, «частина програми» відноситься до частини вихідного коду (області тексту) і відома як лексична область видимості. Проте в деяких мовах «частина програми» відноситься до частини часу виконання (проміжку часу під час виконання) і відома як динамічна область. Обидва ці терміни є певною мірою оманливими — вони неправильно використовують технічні терміни, як обговорювалося у , — але саме розрізнення є точним, і це стандартні відповідні терміни. Лексичний обсяг є основним предметом цієї статті, при цьому динамічний обсяг розуміється на відміну від лексичного обсягу. У більшості випадків розпізнавання імен на основі лексичного обсягу є відносно простим у використанні та реалізації, оскільки під час використання можна читати вихідний код у зворотному напрямку, щоб визначити, до якої сутності відноситься ім’я, а в реалізації можна підтримувати список імен і контексти під час компіляції або інтерпретації програми. Труднощі виникають у , прямих деклараціях і підйомі, тоді як значно тонші виникають із , особливо в замиканнях. (uk) 在電腦程式設計中,作用域(scope,或譯作有效範圍)是名字(name)与实体(entity)的绑定(binding)保持有效的那部分计算机程序。不同的编程语言可能有不同的作用域和。而同一语言内也可能存在多种作用域,随实体的类型变化而不同。作用域类别影響變量的方式,根據語言使用靜態作用域還是動態作用域变量的取值可能会有不同的結果。 * 包含标识符的宣告或定義; * 包含語句和/或,定義或部分關於可執行的演算法; * 巢狀嵌套或被巢狀嵌套。 命名空間是一種作用域,使用作用域的封裝性質去邏輯上群組起關相的眾識別子於單一識別子之下。因此,作用域可以影響這些內容的。 程式員常會縮排他們的原始碼中的作用域,改善可讀性。 (zh)
dbo:wikiPageExternalLink https://www.cs.rochester.edu/~scott/pragmatics/ http://jinja.pocoo.org/docs/templates/%23import-context-behavior
dbo:wikiPageID 62068 (xsd:integer)
dbo:wikiPageInterLanguageLink dbpedia-de:Variable_(Programmierung)
dbo:wikiPageLength 77611 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1105603666 (xsd:integer)
dbo:wikiPageWikiLink dbr:Program_state dbr:Project_MAC dbr:Scheme_(programming_language) dbr:Method_(computer_programming) dbr:Bash_(Unix_shell) dbc:Articles_with_example_R_code dbr:Perl dbr:Variable_(programming) dbr:Declaration_(computer_programming) dbr:Dynamic_dispatch dbr:Information_hiding dbr:Interpreter_(computing) dbr:Let_expression dbr:Lexical_analysis dbr:Preprocessor dbr:LIFO_(computing) dbr:Common_Lisp dbr:Compiling dbr:Run_time_(program_lifecycle_phase) dbr:Name_resolution_(programming_languages) dbr:Nesting_(computing) dbr:Object-oriented_programming dbr:Object_file dbr:Class_(computer_programming) dbr:Clojure dbr:Closure_(computer_science) dbr:Emacs_Lisp dbr:GNU_Compiler_Collection dbr:Go_(programming_language) dbr:Modula dbr:Modula-2 dbr:Name_collision dbr:Namespaces dbr:Control_flow dbr:Dangling_pointer dbr:Label_(computer_science) dbr:AngularJS dbr:Anonymous_function dbr:Lisp_(programming_language) dbr:Logo_(programming_language) dbr:MDL_(programming_language) dbr:MIT_Press dbr:ML_(programming_language) dbr:Maclisp dbr:Call_stack dbr:Standard_ML dbr:Steve_Russell_(computer_scientist) dbr:Subroutine dbr:Closure_(computer_programming) dbr:Compile_time dbr:Computer_architecture dbr:Computer_program dbr:Computer_programming dbr:Function_prototype dbr:Function_type dbr:Functional_programming dbr:Debian_Almquist_shell dbr:Identifier dbr:Pointer_(computer_programming) dbr:Static_variable dbr:Translation_unit_(programming) dbr:Automatic_variable dbr:C++ dbr:C99 dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbr:C_preprocessor dbr:Windows_PowerShell dbr:Linkage_(software) dbr:Linker_(computing) dbr:Local_variable dbr:Logic_error dbr:ALGOL dbr:ALGOL_60 dbr:ALGOL_68 dbr:Ada_(programming_language) dbr:Algol_68 dbr:Data_type dbr:ECMAScript dbr:For_loop dbr:Formal_semantics_of_programming_languages dbr:Pascal_(programming_language) dbr:Forward_declaration dbr:Global_variable dbr:History_of_the_Scheme_programming_language dbr:Source_code dbr:Reference_(computer_science) dbr:Haskell_(programming_language) dbr:JavaScript dbr:Java_(programming_language) dbr:Static_global_variable dbr:Static_local_variable dbr:Jinja_(template_engine) dbr:John_McCarthy_(computer_scientist) dbr:LaTeX dbr:Block_(programming) dbr:Swift_(programming_language) dbr:Higher-order_abstract_syntax dbr:Referential_transparency dbr:Modular_programming dbr:Immediately-invoked_function_expression dbr:Stack_(data_structure) dbr:Association_list dbc:Programming_language_concepts dbr:Name_masking dbr:Template_language dbr:Ternary_operator dbr:Inheritance_(object-oriented_programming) dbr:KornShell dbr:R_(programming_language) dbr:Self-modifying_code dbr:Name_binding dbr:Variable_hoisting dbr:Macro_(computer_science) dbr:Runtime_(program_lifecycle_phase) dbr:S_(programming_language) dbr:Variable_shadowing dbr:Undefined_behavior dbr:Nested_function dbr:Lookup dbr:Expression_(computer_science) dbr:ISLISP dbr:Object_lifetime dbr:Programming_language dbr:Thread-local_storage dbr:Transclusion dbr:Execution_(computing) dbr:First-class_function dbr:Programming_language_implementation dbr:Typedef dbr:Single_assignment dbr:Non-local_variable dbr:Switch_statement dbr:Syntax_error dbr:Storage_class dbr:Macro_expansion dbr:Forward_reference dbr:Funarg dbr:Wild_pointer dbr:Global_variables dbr:Principle_of_least_knowledge
dbp:wikiPageUsesTemplate dbt:Anchor dbt:Citation_needed dbt:Cite_book dbt:Clear dbt:Efn dbt:Expand_section dbt:Main_article dbt:More_citations_needed dbt:No dbt:Notelist dbt:Refbegin dbt:Refend dbt:Reflist dbt:See_also dbt:Sfn dbt:Short_description dbt:Yes
dct:subject dbc:Articles_with_example_R_code dbc:Programming_language_concepts
gold:hypernym dbr:Part
rdf:type owl:Thing yago:Abstraction100002137 yago:Cognition100023271 yago:Concept105835747 yago:Content105809192 yago:GrammaticalRelation113796779 yago:Idea105833840 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:PsychologicalFeature100023100 yago:Relation100031921 yago:WikicatProgrammingLanguageConcepts yago:WikicatProgrammingParadigms
rdfs:comment En programlingvoj, regiono estas tiu parto de la teksto de komputila programo, kie validas deklaro de nomo (precipe de nomo de loka objekto) kaj kie oni rajtas uzi la nomon laŭ tiu deklaro. (eo) En informatique, la portée (scope en anglais) d'un identifiant est l'étendue au sein de laquelle cet identifiant est lié. Cette portée peut être lexicale ou dynamique. (fr) La visibilità (in inglese scope), in programmazione, è l'esistenza e la possibilità di richiamare un identificatore, in particolar modo una variabile, in un determinato punto del programma. Si parla di identificatori e non solo di variabili, perché lo scope è una caratteristica anche di classi, metodi, blocchi e altri concetti che fanno parte dei linguaggi di programmazione; l'identificatore, in questo caso, è un nome generico (una sequenza di caratteri) che rappresenta quella classe, quel metodo, quel blocco o quella variabile. (it) プログラミングにおけるスコープ(英: scope, 可視範囲)とは、ある変数や関数などの名前(識別子)を参照できる範囲のこと。通常、変数や関数が定義されたスコープの外側からは、それらの名前を用いるだけでは参照できない。このときこれらの変数や関数は「スコープ外」である、あるいは「見えない」といわれる。 プログラミングでは、ソースコードの可読性を向上し、また予期しない誤動作を避けるためにも、それぞれの処理段階で必要のない要素の名前はできるだけ参照されないようにすることが望ましい。特に、複数の関数にまたがったスコープを持つことのできるグローバル変数(大域変数)は便利な場合もあるが、どこで参照・変更されているかを常に気にしていなければならず、不用意な変更は危険でもある。たとえば、CERT C コーディングスタンダードには、「変数と関数の有効範囲を最小限にする」(DCL19-C)というレコメンデーションがある。 通例、入れ子になったスコープ階層ごとに同じ名前の識別子が出現したとき、より内側のスコープに属する識別子のほうが優先的に名前解決に使用される。 (ja) 컴퓨터 프로그래밍에서 변수 영역은 변수가 유효성을 갖는 영역을 가리킨다. 프로그램은 영역을 벗어난 변수를 가리킬 수 없다. 변수 영역을 지정하는 규칙은 크게 정적 영역 규칙과 동적 영역 규칙으로 나뉜다. 정적 영역 규칙을 따르는 언어에서는 변수의 유효 영역이 컴파일 타임에 결정되며, 동적 영역 규칙은 실행 시간에 결정된다. 대부분의 현대 언어는 정적 영역 규칙을 따르지만, 매크로를 컴파일할때는 동적 영역 규칙을 따르기도 한다. (ko) 在電腦程式設計中,作用域(scope,或譯作有效範圍)是名字(name)与实体(entity)的绑定(binding)保持有效的那部分计算机程序。不同的编程语言可能有不同的作用域和。而同一语言内也可能存在多种作用域,随实体的类型变化而不同。作用域类别影響變量的方式,根據語言使用靜態作用域還是動態作用域变量的取值可能会有不同的結果。 * 包含标识符的宣告或定義; * 包含語句和/或,定義或部分關於可執行的演算法; * 巢狀嵌套或被巢狀嵌套。 命名空間是一種作用域,使用作用域的封裝性質去邏輯上群組起關相的眾識別子於單一識別子之下。因此,作用域可以影響這些內容的。 程式員常會縮排他們的原始碼中的作用域,改善可讀性。 (zh) في علم الحاسوب، يعتبر المجال لمعرِّف ما (بالإنكليزية Scope) هو الجزء من البرنامج الحاسوبي الذي يمكن فيه استخدام المعرّف -و هو اسم يعود إلى كيان ما في البرنامج- للوصول إلى الكيان المقترن به. لذا، فإن المجال هو السياق في البرنامج الذي يكون فيه المعرّف صالح للاستعمال والوصول إلى الكيان المقترن به. أي بمعنى أخر: عندما يكون الكيان مرئي. في معظم الأحيان، يستخدم مصطلح «المجال» للحديث عن متى يمكن استخدام اسم متغير ما، له «حدود» داخل البرنامج بانتهاء هذا الحد ينتهي عمله ممكن أن نستخدم نفس اسم المتغير في كيان اخر ضمن حدود أخرى في نفس البرنامج لغرض أخر أو قد يكون إلى اللاشئ. ولكنه ينطبق أيضا على كيانات أخرى مثل: الأنواع (أو الأصناف) والوظائف. يعتبر المجال أمرا مهما لتحليل الاسم (name resolution) والذي هو بدوره أساسي لدلالات اللغة (language semantics): فالمعنى الكلي للبرنامج يعتمد على معانى الكلمات ال (ar) Die Sichtbarkeit gibt in der strukturierten und objektorientierten Programmierung an, in welchen Programmteilen die Bezeichnern von Datentypen, Variablen, Funktionen oder Konstanten sowie Prozeduren oder Methoden verwendet werden können, die in einer bestimmten Programmeinheit wie zum Beispiel einer Klasse oder einem Modul definiert wurden. Die Sichtbarkeitsregeln werden in den dazugehörigen Schnittstellen mit Hilfe von Zugriffsmodifikatoren festgelegt. Die übliche Einteilung ist: (de) En programación de computadoras, el ámbito (referido mediante su denominación en inglés scope) es el contexto que pertenece a un nombre dentro de un programa. El ámbito determina en qué partes del programa una entidad puede ser usada. Esto sirve para que se pueda volver a definir una variable con un mismo nombre en diferentes partes del programa sin que haya conflictos entre ellos. (es) In computer programming, the scope of a name binding (an association of a name to an entity, such as a variable) is the part of a program where the name binding is valid; that is, where the name can be used to refer to the entity. In other parts of the program, the name may refer to a different entity (it may have a different binding), or to nothing at all (it may be unbound). Scope helps prevent name collisions by allowing the same name to refer to different objects – as long as the names have separate scopes. The scope of a name binding is also known as the visibility of an entity, particularly in older or more technical literature—this is from the perspective of the referenced entity, not the referencing name. (en) In de informatica wordt met het bereik (gewoonlijk de scope) van een symbool het deel van de broncode aangeduid waarin dat symbool gedefinieerd is. Het beperken van de scope van een symbool maakt het mogelijk dezelfde naam meermaals te gebruiken zonder dat verschillende definities met elkaar in conflict komen. Een andere belangrijke reden is, dat door de scope van een symbool te beperken de interne werking van een deel van een programma of programmabibliotheek kan worden verborgen zodat ongewenste linkage kan worden uitgesloten. Een bekend voorbeeld voor het beperken van een scope zijn lokale variabelen, die alleen binnen de procedure waarin ze zijn gedefinieerd geldig zijn, maar ook namespaces zijn bedoeld om het bereik van een symbool te beperken. (nl) Zasięg widoczności to w programowaniu fragment programu (np. obszar lub blok kodu) z którym skojarzone są wartości lub wyrażenia (np. zmienne). Różne języki programowania posiadają różne rodzaje zasięgów widoczności. Zasięgu najczęściej używa się do: * kontrolowania cyklu życia zmiennych * kontrolowania widoczności i dostępności zmiennych i stałych w obrębie programu * implementacji hermetyzacji Zasięgi mogą zawierać: * deklaracje lub definicje identyfikatorów (np. zmiennych) * instrukcje lub wyrażenia definiujące wykonywalny algorytm lub jego część * inne, zagnieżdżone zasięgi (pl) Em Ciência da Computação escopo é um contexto delimitante aos quais valores e expressões estão associados. Linguagens de programação têm diversos tipos de escopos. O tipo de escopo vai determinar quais tipos de entidades este pode conter e como estas são afetadas, em outras palavras, a sua semântica. Normalmente, o escopo é utilizado para definir o grau de ocultação da informação, isto é, a visibilidade e acessibilidade às variáveis em diferentes partes do programa. Escopos podem: (pt) Область видимости (англ. scope) в программировании — часть программы, в пределах которой идентификатор, объявленный как имя некоторой программной сущности (обычно — переменной, типа данных или функции), остаётся связанным с этой сущностью, то есть позволяет посредством себя обратиться к ней. Говорят, что идентификатор объекта «виден» в определённом месте программы, если в данном месте по нему можно обратиться к данному объекту. За пределами области видимости тот же самый идентификатор может быть связан с другой переменной или функцией, либо быть свободным (не связанным ни с какой из них). Область видимости может, но не обязана совпадать с областью существования объекта, с которым связано имя. (ru) У комп’ютерному програмуванні область дії зв’язування імені (англ. scope) — зв’язок імені з об’єктом (наприклад, змінною) — це частина програми, де зв’язування імені є дійсним, тобто ім’я може використовуватися для посилання на сутність. В інших частинах програми назва може посилатися на іншу сутність (вона може мати іншу прив’язку) або взагалі ні на що (вона може бути незв’язаною). Область допомагає запобігти зіткненням імен; це дозволяє одній і тій самій назві посилатися на різні об’єкти – якщо імена мають різні області. Область прив’язки імені також відомий як видимість сутності, особливо в старішій або більш технічній літературі — з точки зору сутності, на яку посилається, а не імені, на яке посилається. (uk)
rdfs:label مجال (علم الحاسوب) (ar) Sichtbarkeit (Programmierung) (de) Regiono (programlingva) (eo) Ámbito (programación) (es) Visibilità (programmazione) (it) Portée (informatique) (fr) 변수 영역 (ko) スコープ (プログラミング) (ja) Bereik (informatica) (nl) Zasięg (programowanie) (pl) Scope (computer science) (en) Escopo (computação) (pt) Область видимости (ru) Область видимості (програмування) (uk) 作用域 (zh)
rdfs:seeAlso dbr:Extent dbr:Variable_(programming)
owl:sameAs freebase:Scope (computer science) yago-res:Scope (computer science) wikidata:Scope (computer science) dbpedia-ar:Scope (computer science) dbpedia-de:Scope (computer science) dbpedia-eo:Scope (computer science) dbpedia-es:Scope (computer science) dbpedia-fa:Scope (computer science) dbpedia-fr:Scope (computer science) dbpedia-he:Scope (computer science) dbpedia-hu:Scope (computer science) dbpedia-is:Scope (computer science) dbpedia-it:Scope (computer science) dbpedia-ja:Scope (computer science) dbpedia-ko:Scope (computer science) dbpedia-nl:Scope (computer science) dbpedia-pl:Scope (computer science) dbpedia-pt:Scope (computer science) dbpedia-ru:Scope (computer science) dbpedia-sr:Scope (computer science) dbpedia-uk:Scope (computer science) dbpedia-vi:Scope (computer science) dbpedia-zh:Scope (computer science) https://global.dbpedia.org/id/7wEX
prov:wasDerivedFrom wikipedia-en:Scope_(computer_science)?oldid=1105603666&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Scope_(computer_science)
is dbo:wikiPageDisambiguates of dbr:Scope
is dbo:wikiPageRedirects of dbr:Shallow_binding dbr:Comparison_of_programming_languages_(scope) dbr:Block_scope dbr:Block_scoping dbr:Function_scope dbr:Function_scoping dbr:Dynamic_scope dbr:Dynamic_scoping dbr:File_scope dbr:Global_scope dbr:Scope_(computer_programming) dbr:Scope_(computing) dbr:Scope_block dbr:Scope_rules dbr:Scoping dbr:Scoping_rule dbr:Scoping_rules dbr:Lexical_scope dbr:Scope_(programming) dbr:Module_scope dbr:Lexical_variable_scope dbr:Variable_scoping dbr:Dynamic_variable_scoping dbr:Dynamically_scoped dbr:Rules_of_scope dbr:Static_scope dbr:Static_scoping dbr:Let-expression dbr:Lexical_environment dbr:Lexical_scoping dbr:Lexical_variable_scoping dbr:Lexically-scoped dbr:Lexically_scoped dbr:Lexicographic_scope dbr:Lexicographic_scoping dbr:Lexicographical_scope dbr:Lexicographical_scoping dbr:Global_Methods
is dbo:wikiPageWikiLink of dbr:Scheme_(programming_language) dbr:Scheme_48 dbr:Namespace dbr:Bash_(Unix_shell) dbr:Bigloo dbr:Bracket dbr:Little_Smalltalk dbr:VAX_MACRO dbr:Default_argument dbr:Destructor_(computer_programming) dbr:Let_expression dbr:String_interpolation dbr:Shallow_binding dbr:Comparison_of_programming_languages_(scope) dbr:Component_Pascal dbr:Rust_(programming_language) dbr:S-algol dbr:Name_conflict dbr:Nesting_(computing) dbr:Python_syntax_and_semantics dbr:Clascal dbr:CoffeeScript dbr:Elliott_ALGOL dbr:Emacs_Lisp dbr:Full_BASIC dbr:Function_(computer_programming) dbr:Function_overloading dbr:Gambit_(Scheme_implementation) dbr:Game_Oriented_Assembly_Lisp dbr:Glossary_of_artificial_intelligence dbr:Mocl dbr:Modula dbr:Modula-2 dbr:Modula-2+ dbr:Modula-3 dbr:MultiLisp dbr:NELIAC dbr:NEWP dbr:Block_scope dbr:Block_scoping dbr:AngularJS dbr:LispWorks dbr:Lola_(computing) dbr:Lua_(programming_language) dbr:MACRO-11 dbr:MIT/GNU_Scheme dbr:ML_(programming_language) dbr:MUMPS dbr:Calling_convention dbr:Simula dbr:Smalltalk dbr:Stalin_(Scheme_implementation) dbr:Computer_program dbr:Zonnon dbr:Feature_toggle dbr:Function_prototype dbr:Function_scope dbr:Function_scoping dbr:Parameter_(computer_programming) dbr:Static_variable dbr:String_literal dbr:AutoLISP dbr:Automatic_variable dbr:BLISS dbr:CORAL dbr:C_Sharp_syntax dbr:UCBLogo dbr:GOFF dbr:Lambda_lifting dbr:Language_Server_Protocol dbr:ALGO dbr:ALGOL dbr:ALGOL_58 dbr:ALGOL_60 dbr:ALGOL_68 dbr:ALGOL_68S dbr:ALGOL_N dbr:ALGOL_W dbr:ALGOL_X dbr:Active_Oberon dbr:Allegro_Common_Lisp dbr:Alma-0 dbr:ECMAScript dbr:ELAN_(programming_language) dbr:Edinburgh_IMP dbr:Euler_(programming_language) dbr:Executive_Systems_Problem_Oriented_Language dbr:Features_of_the_Opera_web_browser dbr:Nim_(programming_language) dbr:Nord_Programming_Language dbr:Oz_(programming_language) dbr:PL360 dbr:Pascal_(programming_language) dbr:History_of_the_Scheme_programming_language dbr:Procedural_programming dbr:Hindley–Milner_type_system dbr:JOSS dbr:JOVIAL dbr:JavaScript dbr:Tcl dbr:Hygienic_macro dbr:Dynamic_binding dbr:Dynamic_scope dbr:Dynamic_scoping dbr:File_scope dbr:AssemblyScript dbr:Atlas_Autocode dbr:ABC_Software_Metric dbr:AP_Computer_Science dbr:Chez_Scheme dbr:Chicken_(Scheme_implementation) dbr:Chisel_(programming_language) dbr:Chomsky_hierarchy dbr:JetUML dbr:John_M._Scholes dbr:Kaleida_Labs dbr:Block_(programming) dbr:Sweble dbr:Temporary_variable dbr:Trait_(computer_programming) dbr:Direct_function dbr:Portable_Standard_Lisp dbr:PostScript dbr:Spice_Lisp dbr:Class_diagram dbr:Context dbr:Global_scope dbr:Scope_(computer_programming) dbr:Scope_(computing) dbr:Scope_block dbr:Scope_rules dbr:Scoping dbr:Scoping_rule dbr:Scoping_rules dbr:IMP_(programming_language) dbr:Ikarus_(Scheme_implementation) dbr:Microsoft_Small_Basic dbr:NetLogo dbr:NewLISP dbr:Oberon-2 dbr:Oberon_(programming_language) dbr:Object_Oberon dbr:Object_Pascal dbr:Open_Programming_Language dbr:RTL/2 dbr:Rapira dbr:Name_binding dbr:Scope dbr:Skeleton_(computer_programming) dbr:Snippet_(programming) dbr:Variable_shadowing dbr:Variable_(computer_science) dbr:Immediately_invoked_function_expression dbr:Imperative_programming dbr:Lexical_scope dbr:Object_lifetime dbr:Thread-local_storage dbr:Scope_resolution_operator dbr:Multi-stage_programming dbr:Non-local_variable dbr:Resource_acquisition_is_initialization dbr:Scope_(programming) dbr:PLANC dbr:Parent_pointer_tree dbr:Systems_immunology dbr:Module_scope dbr:Lexical_variable_scope dbr:Variable_scoping dbr:Dynamic_variable_scoping dbr:Dynamically_scoped dbr:Rules_of_scope dbr:Static_scope dbr:Static_scoping dbr:Let-expression dbr:Lexical_environment dbr:Lexical_scoping dbr:Lexical_variable_scoping dbr:Lexically-scoped dbr:Lexically_scoped dbr:Lexicographic_scope dbr:Lexicographic_scoping dbr:Lexicographical_scope dbr:Lexicographical_scoping dbr:Global_Methods
is dbp:scope of dbr:Scheme_(programming_language) dbr:Scheme_48 dbr:Bigloo dbr:Little_Smalltalk dbr:VAX_MACRO dbr:Component_Pascal dbr:Clascal dbr:Elliott_ALGOL dbr:Gambit_(Scheme_implementation) dbr:Game_Oriented_Assembly_Lisp dbr:Mocl dbr:Modula dbr:Modula-2 dbr:Modula-2+ dbr:Modula-3 dbr:MultiLisp dbr:NELIAC dbr:NEWP dbr:LispWorks dbr:Lola_(computing) dbr:MACRO-11 dbr:MIT/GNU_Scheme dbr:Simula dbr:Smalltalk dbr:Stalin_(Scheme_implementation) dbr:Zonnon dbr:BLISS dbr:CORAL dbr:UCBLogo dbr:ALGO dbr:ALGOL dbr:ALGOL_58 dbr:ALGOL_60 dbr:ALGOL_68 dbr:ALGOL_68S dbr:ALGOL_N dbr:ALGOL_W dbr:ALGOL_X dbr:Active_Oberon dbr:Allegro_Common_Lisp dbr:Alma-0 dbr:ELAN_(programming_language) dbr:Edinburgh_IMP dbr:Euler_(programming_language) dbr:Executive_Systems_Problem_Oriented_Language dbr:Nim_(programming_language) dbr:Nord_Programming_Language dbr:PL360 dbr:Pascal_(programming_language) dbr:JOSS dbr:JOVIAL dbr:AssemblyScript dbr:Atlas_Autocode dbr:Chez_Scheme dbr:Chicken_(Scheme_implementation) dbr:Chisel_(programming_language) dbr:Spice_Lisp dbr:IMP_(programming_language) dbr:Ikarus_(Scheme_implementation) dbr:NetLogo dbr:Oberon-2 dbr:Oberon_(programming_language) dbr:Object_Oberon dbr:Object_Pascal dbr:Open_Programming_Language dbr:RTL/2 dbr:Rapira dbr:PLANC
is foaf:primaryTopic of wikipedia-en:Scope_(computer_science)