|
![]() |
#1 |
Участник
|
Последний раз редактировалось kashperuk; 12.08.2007 в 16:54. |
|
|
За это сообщение автора поблагодарили: vladz (1). |
![]() |
#2 |
Moderator
|
Цитата:
Что-то я злой в последнее время...
![]() |
|
![]() |
#3 |
Moderator
|
Цитата:
Хм. Взялся проверить, чтобы не быть голословным.
Получается как раз наоборот. ![]() Цитата:
Кажется Пролог когда-то умел работать с реляционными БД.
|
|
![]() |
#4 |
Moderator
|
http://www.gprolog.org/
Цитата:
# MySQL/Prolog - an interface to MySQL database
# ODBC/Prolog - a small ODBC interface module for gprolog |
|
![]() |
#5 |
Участник
|
я бы попробовал еще этот способ
|
|
![]() |
#6 |
Moderator
|
Цитата:
я бы попробовал еще этот способ
|
|
![]() |
#7 |
Участник
|
Ага. Мне кажется, эти мепы и редюсы внутри x++ не стоит того.
А вот написать что-нибудь интеллектуальное на Haskell (всякие там трасформации исходников, например), а потом поиспользовать... |
|
![]() |
#8 |
Moderator
|
Цитата:
А вот написать что-нибудь интеллектуальное на Haskell (всякие там трасформации исходников, например), а потом поиспользовать...
![]() |
|
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Moderator
|
Цитата:
Ну, я планирую для инструментальных вещей поиспользовать (хочется встоить простенький sql profiler)
p.s. И мне еще говорят "что у меня много свободного времени"...... |
|
![]() |
#11 |
Участник
|
Знакомый делает для BAAN. Я немного перетачиваю под MS SQL - но там еще долгий путь.
|
|
![]() |
#12 |
Гость
|
это не наш пролог. В нем рыбу заворачивали
|
|
![]() |
#13 |
Участник
|
кстати, py3к dct бутед работать с итераторами а не списками, может и тут так сделать?
типа X++: select EmplTable; xml = '<records>' + join(map(new CursorEnumerator(EmplTable), 'x.xml()')) + '</records>'; |
|
![]() |
#14 |
Member
|
В 4.0 выбрасывает трассировку стека в начале третьего цикла при попытке вставить в контейнер элемент на нулевую позицию.
3.0 на эту ошибку не реагирует. Что-то полезное таки делают. Приятно. Жаль, что мало.
__________________
С уважением, glibs® |
|
![]() |
#15 |
Member
|
Слегка подправил код.
Info Сообщение (11:48:54) 0,3440 Info Сообщение (11:48:54) 9,8120 Info Сообщение (11:48:54) 10,0160 Info Сообщение (11:48:54) 9,9220 Info Сообщение (11:48:54) 10,1560 Info Сообщение (11:48:54) 10,0150 Это 4.0 Info Сообщение (11:50:12) 0,1880 Info Сообщение (11:50:12) 14,1090 Info Сообщение (11:50:12) 14,1100 Info Сообщение (11:50:12) 14,1720 Info Сообщение (11:50:12) 14,3590 Info Сообщение (11:50:12) 14,2500 А это 3.0 Ух ты... в 4.0 перед копированием русского текста мне не пришлось переключаться на русский. Интересно, это у всех так (а то у меня 2003-й английский Windows просто)?
__________________
С уважением, glibs® |
|
![]() |
#16 |
Участник
|
Цитата:
Сообщение от glibs
![]() Слегка подправил код.
Info Сообщение (11:48:54) 0,3440 Info Сообщение (11:48:54) 9,8120 Info Сообщение (11:48:54) 10,0160 Info Сообщение (11:48:54) 9,9220 Info Сообщение (11:48:54) 10,1560 Info Сообщение (11:48:54) 10,0150 Это 4.0 Info Сообщение (11:50:12) 0,1880 Info Сообщение (11:50:12) 14,1090 Info Сообщение (11:50:12) 14,1100 Info Сообщение (11:50:12) 14,1720 Info Сообщение (11:50:12) 14,3590 Info Сообщение (11:50:12) 14,2500 А это 3.0 Ух ты... в 4.0 перед копированием русского текста мне не пришлось переключаться на русский. Интересно, это у всех так (а то у меня 2003-й английский Windows просто)? Копируется верно, потому что используется UniCode насколько я понимаю. А задачи конкретной нет, это так, для общего развития себя и других ![]() |
|
![]() |
#17 |
Member
|
Попробовал List.
Вставка в 3.0 в конец 0,1880 В 4.0 Info Сообщение (12:08:24) 0,3280 А что за задача? Ставить нужно в конец или куда ни попади (надеюсь, вы не с ветряными мельницами боролись)?
__________________
С уважением, glibs® |
|
![]() |
#18 |
Участник
|
Цитата:
Метод add, который я ему посоветовал подоптимизировать, не проверив прежде, действительно ли это оптимизация. |
|
![]() |
#19 |
Member
|
Последняя версия вот. Остальные я уже стер. Цифры по List я приводил, пока там еще был тип Integer.
#define.LoopCount(50000) #LocalMacro.Start timeBefore = WinApi::getTickCount(); #EndMacro #LocalMacro.Reset timeAfter = WinApi::getTickCount(); info(num2str((timeAfter - timeBefore) /1000, 0, 4, 2, 0)); con = conNull(); len = 1; #EndMacro static void glibs() { List list = new List(Types::Container); ListIterator listIterator; container con; int i; int len = 1; int timeBefore; int timeAfter; ; #Start for (i = 1; i < #LoopCount; i++) list.addEnd([i]); #Reset /* #Start for (i = 1; i < #LoopCount; i++) con += i; #Reset #Start for (i = 1; i < #LoopCount; i++) con = con + i; #Reset #Start for (i = 1; i < #LoopCount; i++) con = conIns(con, conLen(con) + 1, i); #Reset #Start for (i = 1; i < #LoopCount; i++) { con = conIns(con, len, i); len++; } #Reset #Start for (i = 1; i < #LoopCount; i++) con = conPoke(con, conLen(con) + 1, i); #Reset #Start for (i = 1; i < #LoopCount; i++) { con = conPoke(con, len, i); len++; } #Reset */ }
__________________
С уважением, glibs® |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|