Вот такие пироги или о чудесах IDE VB

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
_ae_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 165
Зарегистрирован: 08.10.2006 (Вс) 14:37

Вот такие пироги или о чудесах IDE VB

Сообщение _ae_ » 29.11.2006 (Ср) 13:34

Наберем
Код: Выделить всё
    Dim fi, r, fi`, r`

Редактор выделит красным.
Если нажать F5 увидим ошибку - syntax error.
Наберем теперь
Код: Выделить всё
    Dim fi, r, [fi`], [r`]

Нажмем enter
Оппа. Редактор убрал [] и теперь вместо набранной строки у нас значит то, что было с самого начала. Но теперь строка не красная. И более того, нажмем F5 и обрадуемся - прога запустилась!
Нажмем в нашей "хорошей" строке на пробел. Перейдем на новую строку.
Вот, теперь опять строка красная и syntax error. Хотя в ней ничего не поменялось :)

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 29.11.2006 (Ср) 14:53

А ведь достаточно было написать "редактор кода нестандартно реагирует на []".
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

--=GAMER=--
Фиолетовый бот
Фиолетовый бот
Аватара пользователя
 
Сообщения: 810
Зарегистрирован: 22.03.2004 (Пн) 11:29
Откуда: Владивосток

Сообщение --=GAMER=-- » 29.11.2006 (Ср) 16:01

Тогда заманчивость темы теряеться..
В темноте слепец — самый надежный проводник. В эпоху безумия пусть тебя ведет сумасшедший.

rRenderer Engine
VB Wiki

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.11.2006 (Ср) 16:40

Работает с любыми ключевыми словами, кстати: ` не обязательно.
И пробел печатать тоже не обязательно, достаточно закрыть и открыть снова.
Действительно, баг мегадосадный.
Единственный способ бороться с ним, который я знаю -- ставить read-only на файлы с исходниками и править их исключительно блокнотом :-(
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.11.2006 (Ср) 16:52

Забавный баг.

Хороший способ завалить студента. Любой профессор замучает его если тот не знает о баге. :D

Напишет
Код: Выделить всё
Dim [acaca As Long]

нажмёт Enter. Получит
Код: Выделить всё
Dim acaca As Long

А ниже напишет
Код: Выделить всё
MsgBox TypeName(acaca)

А потом будет докапываться, почему Empty а не Long.

PS. (Added) если конечно Option Explicit не включен.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.11.2006 (Ср) 17:00

Хакер писал(а):Забавный баг.

Хороший способ завалить студента. Любой профессор замучает его если тот не знает о баге. :D

Напишет
Код: Выделить всё
Dim [acaca As Long]

нажмёт Enter. Получит

Получит ошибку -- нельзя так писать.
Да и с пробелами внутри [] этот трюк, кажется, не работает.
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 29.11.2006 (Ср) 17:18

sorry.
Код: Выделить всё
Dim ababa, [acaca As Long]

превратится в
Dim ababa, acaca As Long
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.11.2006 (Ср) 17:21

Ещё раз. (Хоть бы тестил, прежде чем постить?)
Нельзя объявить переменную или функцию с именем в квадратных скобках.
Но можно объявить класс с таким именем. Или член енума.
Изображение


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 99

    TopList