Описание тега shadowing
In computer programming, shadowing occurs when a variable declared within a certain scope (decision block, method or inner class) has the same name as a variable declared in an outer scope.
This can lead to confusion, as it may be unclear which variable subsequent uses of the shadowed variable name refer to, which depends on the name resolution rules of the language.
2
ответа
Производный класс не наследует перегруженный метод от базового класса
Я хотел бы, чтобы метод в базовом классе вызывал чисто виртуальный метод, который будет реализован в производном классе. Однако метод без параметров базового класса, похоже, не наследуется производным классом. Что я делаю неправильно? Компилятор MSV…
27 окт '14 в 21:56
2
ответа
Каковы правила разрешения символов как макросов по сравнению с параметрами функции?
Я был удивлен, обнаружив, что альфа-преобразование небезопасно в Clojure: Clojure> ((fn [o] (o 3 2)) +) 5 Clojure> ((fn [or] (or 3 2)) +) 3 Clojure> ((fn [def] (def 3 2)) +) java.lang.RuntimeException: First argument to def must be a Symbol…
16 авг '12 в 13:17
0
ответов
Как Tomcat обрабатывает перекрывающиеся / скрывающие имена в контекстных путях или URL-адресах?
Как Tomcat 8.0 обслуживает запросы http в следующем сценарии? Допустим, мы развернули два веб-приложения "ROOT.war" и "Foo.war" на сервере с именем "www.host.com". Кроме того, давайте предположим, что ROOT.war содержит подпапку с именем "Foo", котор…
23 апр '15 в 07:33
2
ответа
Кто-нибудь может объяснить этот код, связанный с теневым копированием в Java?
Просматривая документы Oracle, читая о вложенных классах, я нашел этот фрагмент кода, вывод которого я не мог понять. Может кто-нибудь, пожалуйста, объясните это? public class ShadowTest { public int x = 0; class FirstLevel { public int x = 1; void …
11 ноя '15 в 08:51
1
ответ
Java унаследовал теневое поле и JVM?
Является ли механизм затенения / скрытия полей наследованием и позднее разрешается частью спецификации JVM? Я знаю, что это часть спецификации Java, и ее можно найти во многих сообщениях в блогах и ТАКИХ вопросах. Однако, когда я на самом деле смотр…
23 мар '13 в 02:45
8
ответов
Java Внутренний класс затеняет внешний класс в том же файле.java
Рассматривать: package test; class Same { void method() { System.out.println("outer"); } } public class Main { class Same { void method() { System.out.println("middle"); } } public static void main(String[] args) { new Same().method(); // Compile ti…
18 дек '13 в 10:20
1
ответ
Сопутствующие объекты скрывают класс - ошибка или особенность?
В Kotlin следующий код кажется разумным: data class Foo(val bar: String) { fun combine(other: Foo): Foo { return Foo(bar + other.bar) } companion object Foo { fun someHelper() {} } } Тем не менее, он не компилируется: тип Foo привязывается к Foo.Foo…
26 мар '17 в 15:35
1
ответ
Как определить переопределенные переменные или теневые переменные
При использовании одной и той же переменной дважды в одной и той же области видимости с компилятором F# предупреждение или обратная связь отсутствуют. например let s = "abc" let s = "def" printfn "%A" s результаты в def я видел Есть ли способ получи…
27 фев '16 в 14:15
3
ответа
Как создавать быстрые и легкие независимые от сцены тени без шейдеров в OpenGL
Пусть у меня есть сетка (например, сфера) в центре комнаты, полная кубов и одного источника света. Как я могу быстро и легко отбрасывать тени в OpenGL, используя только "стандартные" (фиксированные) функции? Примечание: результат должен также содерж…
21 ноя '10 в 12:35
6
ответов
Пример затенения переменных в javascript
Я узнал о термине затенение переменных в Eloquent Javascript (глава 3), но я пытаюсь понять точный, базовый пример концепции. Это пример слежки? var currencySymbol = "$"; function showMoney(amount) { var currencySymbol = "€"; document.write(currency…
10 авг '12 в 12:12
3
ответа
Javascript - перераспределение переменных в подблоке // Затенение переменных
Я пытаюсь понять, как Javascript обрабатывает повторное объявление переменной let в подблоке текущей области видимости. пусть - JavaScript | MDN говорит: Переменные, объявленные let имеют область видимости в блоке, для которого они определены, а так…
02 авг '18 в 22:40
1
ответ
Как обрабатывать пакеты, затеняя друг друга?
Я установил большинство своих модулей через пакеты Ubuntu, и поэтому они находятся в /usr/lib/python3/dist-packages, Некоторые слишком старые или недоступны через Ubuntu, поэтому я установил их через pip, и они находятся в /usr/local/lib/python3.3/d…
11 мар '14 в 16:20
5
ответов
В чем разница между скрытием метода и теневым копированием в C#?
В чем разница между скрытием метода и теневым копированием в C#? Они одинаковые или разные? Можем ли мы назвать их полиморфизмом (время компиляции или время выполнения)?
01 мар '12 в 16:38
2
ответа
Scala: Как импорт может предотвратить поиск неявного значения?
Я мог бы использовать предложения отладки неявного: Я хочу использовать неявное, x: type T trait HasT { implicit def x: T = ... } Но мне также нужен импорт подстановочных знаков из некоторого пакета foo, Я попробовал два разных способа введения обои…
20 ноя '16 в 21:43
2
ответа
Лямбда-захват и параметр с тем же именем - кто скрывает других? (лязг против gcc)
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang++ 3.6.0 и новее распечатайте "Вы используете clang++!" и предупредить о захвате foo быть неиспользованным…
07 фев '17 в 10:56
1
ответ
Почему функция stat() не скрывает конструктор struct stat в C++?
Если я скомпилирую следующий код, используя "g++ -Wshadow -c": struct foo { int x; }; void foo(char* x, struct foo* y); Я получаю ожидаемое: предупреждение: "void foo(char*, foo*)" скрывает конструктор для "struct foo" [-Wshadow]void foo (char * x, …
26 июл '18 в 02:18
1
ответ
Лямбда-выражение в итерируемой реализации
Итак, у меня есть этот код, который мне показал мой друг, и я должен признать, что не понимаю, что происходит. Я понимаю концепцию ламба-выражений и написал немало из них на языке haskell, но пока ни одного на Java. Что меня смущает, так это то, как…
10 янв '15 в 19:49
2
ответа
Как скрыть метод Object.Equals() в модуле?
Возможно, заголовок вопроса не является правильным, потому что методы в модуле не могут быть скрыты, но по сути я хочу скрыть базовый элемент, объявляя его снова и скрывая, не теряя возможности вызвать его и вернуть правильное значение, Обычно я дел…
22 мар '16 в 23:05
1
ответ
Сделать -Wshadow игнорировать список инициализатора
В большом проекте я недавно обнаружил проблему с теневыми переменными-членами. Чтобы избежать этого в будущем, я хотел бы представить -Wshadow, чтобы показать такие проблемы. Однако большинство конструкторов выглядит так: struct Foo{ int bar1, bar2;…
26 авг '15 в 10:46
3
ответа
Ошибка FS0037 иногда очень сбивает с толку
Если я напишу следующий код F#, компилятор выдаст ошибку. let a = 123 let a = 123 Произошла ошибка: ошибка FS0037: повторное определение значения "а" Если я напишу тот же код в функции, как это: let fctn = let a =123 let a =123 a это не производит н…
08 апр '16 в 05:32