Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Что означает такая запись?   Найти похожие ветки 

 
Чапаев ©   (2007-06-09 09:17) [0]

var
 A: Integer;
...
A := $;
...


Никогда раньше не встречал константу "$". Что она означает?


 
MBo ©   (2007-06-09 09:21) [1]

шестнадцатиричный ноль, видимо, компилятор пропускает такое


 
Reindeer Moss Eater ©   (2007-06-09 09:22) [2]

Означает, что дальше последует целое в шестнадцатеричном представлении.


 
Чапаев ©   (2007-06-09 09:33) [3]


> шестнадцатиричный ноль, видимо, компилятор пропускает такое
А и правда... Я и забыл, что отсутствие знаков в числе расценивается как ноль. Спасибо. ;-)


 
MBo ©   (2007-06-09 09:39) [4]

>Я и забыл, что отсутствие знаков в числе расценивается как ноль.
Ну это все-таки как-то неправильно, я считаю.
BDS подчеркивает $; и при наведении мыши говорит Invalid hexadecimal character specification, однако прдкпреждений не выдает и компилирует


 
Чапаев ©   (2007-06-09 09:44) [5]


> Ну это все-таки как-то неправильно, я считаю.
Ну... Таков синтаксис. Мне 5. или .5 тоже не особо нравятся, но так было задумано. ;-)


 
Чапаев ©   (2007-06-09 09:45) [6]

Опа... А Делфи var F: Real ... F := .1; не понимает. Паскаль понимал...


 
Anatoly Podgoretsky ©   (2007-06-09 15:35) [7]

> MBo  (09.06.2007 09:21:01)  [1]

> шестнадцатиричный ноль, видимо, компилятор пропускает такое

В таком случае должен пропускать A := ; Десятичный ноль


 
Германн ©   (2007-06-09 16:18) [8]

Money, money, money, always sunnyIn the rich man"s world.


 
MBo ©   (2007-06-09 16:46) [9]

>В таком случае должен пропускать A := ; Десятичный ноль
Угу :)

Видимо, дело в логике работы разборщика строки у компилятора, поскольку библиотечные функцииэтого не позволяют, например StrToInt("$") не проходит.
К примеру, если для этого задействован конечный автомат, логика может быть такой:
После IntVar := входит в состтояние ожидания идентификатора функции, константы, десятичной цифры или $.
После цифры или $ в приемник записывается начальное значение 0, автомат переходит в состояние ожидания пробела, точки с запятой, или цифры (во втором случае - шестнадатиричной).
Получив точку с запятой, автомат завершает разбор оператора.


 
Однокамушкин   (2007-06-09 22:06) [10]


>
> Чапаев ©   (09.06.07 09:45) [6]
> Опа... А Делфи var F: Real ... F := .1; не понимает. Паскаль
> понимал...

Специально проверил, Турбо Паскаль 7-ой не понимает... других версий у меня не сохранилось, но подозреваю, что и они не поняли бы... это фортран такую запись понимал, и ещё некоторые диалекты бейсика...



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
15-1185089375
alien1769
2007-07-22 11:29
2007.08.19
Ошибка при старте delphi32.exe (2-х ядерный процессор)


2-1184823592
zsergey
2007-07-19 09:39
2007.08.19
Возможности Rave Reports


15-1185167960
ZMRaven
2007-07-23 09:19
2007.08.19
А сколько может стоить курсач на дельфях?


2-1185624507
lessi
2007-07-28 16:08
2007.08.19
try except end


2-1185538354
R.O.O.T
2007-07-27 16:12
2007.08.19
проблема перевода DOS-Win кодировки