Вверх ↑
Этот топик читают: Гость
Ответов: 5446
Рейтинг: 323
#1: 2007-12-08 17:17:24 ЛС | профиль | цитата
Хотя, по словам Дилмы, до первой релиз-версии FTCG надо ещё дожить, решил заняться пакетом GCC. За основу взял Javascript из пакета Web.
И сразу же получил "фейсом об тейбл": выходной файл молча формируется, но нулевого размера. Вопрос: а что я делаю не так?
Все коды - в архиве.
карма: 1

0
файлы: 1gcc.rar [84.5KB] [413]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2007-12-08 20:14:16 ЛС | профиль | цитата
iarspider, у тебя в direct.inc точкой входа указан элемент Console, которого нет в пакете вообще. Очевидно нужно ставить ConsoleEntryPoint.
карма: 27
0
Ответов: 5446
Рейтинг: 323
#3: 2007-12-13 13:07:07 ЛС | профиль | цитата
М-дя...
------------ Дoбавленo:

Спасибо!
------------ Дoбавленo:

Dilma, если не сложно - разъясни поподробнее, в чём суть ф-ций code и str, и чем последняя отличается от e_str?
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-12-13 17:05:28 ЛС | профиль | цитата
code и str во-первых, меняют базовый тип данных(т.е. тип HWS), во-вторых, сращивают данные в одну строку, делая невозможным дальнейшую модификацию её элементов. Советую использовать исключительно для приведения типов констант. Следующие выражения тождественны:

#hws
code("my str") == 'my str'
str('my code') == "my str"

e_str и прочие е_ххх вызывают метод преобразования подтипа(т.е. типа целевого языка) для одной порции данных, вызывая _toCode из direct.inc.

Разделение существует потому, что в любой момент времени у данных есть два независимых типа:
1) тип в скрипте
2) тип в целевом языке

в рамках пакета WEB второй тип не используется вообще и поэтому работа с ними нужна только в типизированных языках.
карма: 27
0
Ответов: 5446
Рейтинг: 323
#5: 2007-12-13 21:15:31 ЛС | профиль | цитата
О, а зодно теперь узнал, где код приведения типов сидит. Спасибо!
------------ Дoбавленo:

Возник концептуальный вопрос: как задавать формат строки для FormatStr? Вариантов два:

  • Первый - как в пакете Delphi (%1, %2, ...). Плюс - простота в использовании, минус - теряется вся мощь sprintf-а
  • Второй - использовать строку напрямую в sprintf. Плюс - вся мощь этой функции, минусы - пользователь должен очень осторожно подключать точки, чтобы тип данные, передаваемые на эту точку, строго соответствовали типу, указанному в строке.

Как вариант - можно сделать два компонента (FormatStr и FormatStrEx соответственно).
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2007-12-13 21:29:16 ЛС | профиль | цитата
Пока не знаю, что лучше. Однако стоит помнить, что уже имеется языконезависимый элемент, собирающий строку по константной маске - StringBuilder. Только в нем не номера точек используются, а их имена.

Минус sprintf легко устранить предварительной проверкой типов данных, поступающих с точек(использовать typeof для констант и expof для переменны/выражений). Либо другой вариант это конвертация данных с точки к соответствующему типу.
карма: 27
0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)