наглядный пример: жуткий глюк с областями видимости
Оригинал этой записи. Комментировать можно тут или там.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме
Tags:
наглядный пример: жуткий глюк с областями видимости
Оригинал этой записи. Комментировать можно тут или там.
no subject
no subject
no subject
{
my $a=1;
print("1. a=$a\n");
{
my $a=2;
print("2. a=$a\n");
}
print("3. a=$a\n");
}
print("4. a=$a\n");
вывод:
1. a=1
2. a=2
3. a=1
4. a=
такого поведения автор и ожидал, как я понимаю.
no subject
а если не объявлять, то он будет себя вести точно так же, как php - будет одна общая переменная.
no subject
no subject
no subject
no subject
no subject
Грубо говоря:
{
int i = 1;
{
i = 2; // явно просто присваивание переменной из родительской области видимости
int i = 3; // а вот здесь чего делаем? я бы ошибку выбрасывал, а то потом в коде каша будет.
}
}
no subject
no subject
я бы на его месте выдал предупреждение, что так делать не нужно, хотя, конечно, если очень хочется, то можно
no subject
другой вопрос, что за такой стиль программирования надо убивать на месте, независимо от языка
no subject