DOT (.) После Ampersand (переменная хоста) и считается частью имени переменной? - PullRequest
1 голос
/ 12 апреля 2010

Я знаю, что заголовок не так ясен. Это изображение

Я использую & a, он рассматривает это как $ a. , в выводе & a и & a. дает тот же результат. и почему одиночное. (DOT) после & a не дает ошибки, но если мы ставим какой-либо символ, оператор или символы подстановки после & a, выдает ошибку

Это код.

BEGIN
  FOr i in &&a...3 LOOP
     DBMS_OUTPUT.PUT_LINE(i||' '||&a.||' '||&a);
END LOOP;
END;

Выход будет

1 1 1
2 1 1
3 1 1

1 Ответ

1 голос
/ 12 апреля 2010

Точка является разделителем для определения &. В большинстве случаев вы не заметите разницы, но если по какой-то причине у вас не было пробелов или аналога после имени переменной, это может вызвать путаницу. Например, если вы объединяете что-то с вашей переменной в строке, '&asomething', она будет запрашивать переменную с именем «asomething». Если бы вы сделали это как '&a.something', тогда бы запросили переменную с именем «a» и добавили бы «что-нибудь» в конце любого значения. Любой другой символ после &a будет рассматриваться как часть имени переменной или вызовет ошибку, если он недопустим как часть имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...