@dlangru

Страница 158 из 719
qwerty
18.04.2017
15:23:31
оба int разумеется

int number; readf("%d\n", &number); int val; readf("%d\n", &val); так надо делать

http://dlang.org/changelog/2.074.0.html#std-format-formattedRead
ошибки прямо в примерах

Oleg
18.04.2017
15:26:28
хм, я не проверял

Google
Oleg
18.04.2017
15:26:34
точно компилятор последний?

qwerty
18.04.2017
15:27:19
да не, ошибки в примерах не касаются того, что у меня. В примерах ошибки с кавычками. Компилятор точно не последний)

http://vpaste.net/rjLTz такой код на D эквивалентен С++ коду отсюда http://vpaste.net/4aOhB ?

qwerty
18.04.2017
15:46:19
Так. Говоря, про ошибки, я имел ввиду кавычки из changelog. Перевод строки никак не относится ни к каким ошибкам.

Oleg
18.04.2017
15:54:31
ну эт мелочи )

qwerty
18.04.2017
15:55:38
У них есть куда сообщать о таких мелочах?

как можно получить unicode последовательность из строки? В Python "ёёё".encode('unicode_escape') можно так сделать. В D я максимум что смог придумать это auto sequence = "ёёё".map!(a => format("\\u%x", int(a))); writeln(sequence.reduce!((a, b) => a ~ b)); Если еще поколдовать как-то поставить лидирующие нули в начале, то вывод будет эквивалентным, но может уже есть что-то готовое?

Dmitry
19.04.2017
08:11:34
имеет ли смысл закрывать набор запрос так (это же так называется?): ResultRange result = mysqlconnection.query(sqlquery.replace(`historygps_xxx`, item.gps).replace(`historysensor_xxx`, item.sensor)); auto myPointsLonLat = result.array; result.close(); // имеет ли смысл закрывать тут?

qwerty
19.04.2017
10:02:38
нет, это выведет мою строку. А мне надо получить юникоды символов. Вывод будет таким \u0451\u0451\u0451

Google
qwerty
19.04.2017
10:02:57
http://ideone.com/a1tw5G

Да я на самом деле не могу понять того когда какой тип строк выбрать. (string, wstring, dstring)

хотел посмотреть какие коды вернутся в зависимости от того каакой тип выбрать

Maxim
19.04.2017
10:24:57
char 0xFF unsigned 8 bit (UTF-8 code unit) wchar 0xFFFF unsigned 16 bit (UTF-16 code unit) dchar 0x0000FFFF unsigned 32 bit (UTF-32 code unit)

т.е. string - UTF-8, wstring - UTF-16, dstring - UTF-32

qwerty
19.04.2017
10:26:51
да, это понятно

а нет

чем wchar тогда от dchar отличается? Максимальное значение одно и то же

Maxim
19.04.2017
10:27:38
кодировкой и размером)

qwerty
19.04.2017
10:27:40
dchar наверно 0xffff ffff

Maxim
19.04.2017
10:28:27
вообще, с этими utf жопа полная с точки зрения программиста)

в UTF-32, насколько помню, любой символ кодируется 32 битами, а в UTF-8 и UTF-16 переменным числом бит

Grigirii
19.04.2017
10:30:30
да нет там никакой жопы, всё просто. utf8 - байт на unit, но буква состоит (может) из нескольких юнитов. utf32 == Unicode, т.е 1 буква - 1юнит. utf16 - вообще странный хлам, которым не стоит пользоваться.

qwerty
19.04.2017
10:31:16
эмм

Grigirii
19.04.2017
10:31:24
разве что под виндой от их wchar никуда не деться, поэтому приходится

Maxim
19.04.2017
10:32:24


Dmitry
19.04.2017
10:32:26
"А вообще, не то что побайтовая, даже посимвольная работа с юникодом невозможна: для rtl письменностей в юникод добавлен bidi алгоритм, который не только арабщину и иврит разворачивает, но и меняет направление нейтральных символов, например скобки заменяет на обратные. Направление нейтральных символов зависит от соседства с направленными (в том числе и невидимыми) и от окружения специальными тегами форсирования направления, так что вырезание подстрок даже по символам может всё поломать." Не мое

qwerty
19.04.2017
10:32:42
?

Да мне просто надо понять какой тип когда использовать) Какой иврит?

Maxim
19.04.2017
10:34:38
в нормальной ситуации string, если нужно общаться с шиндовз - wstring, если нужна простая работа с символами - dstring

Google
Maxim
19.04.2017
10:34:54
как-то так)

qwerty
19.04.2017
10:35:31
а чем нормальная ситуация отличается от простой работы с символами?

Grigirii
19.04.2017
10:35:32
если нужна побуквенная работа и она возможна (нет rtl, или допустимые ситуации), то dstring utf32. Только он позволяет брать букву по индексу и тривиально считать свою длину. Если это просто строки, которыми надо пользоваться целиком, то string

Maxim
19.04.2017
10:36:01
а чем нормальная ситуация отличается от простой работы с символами?
тем, что в utf-8 не фиксированное количество байт на символ

qwerty
19.04.2017
10:42:43
https://m.habrahabr.ru/post/158895/ ладно вроде нашел что-то понятно. Спасибо, что попытались объяснить) Я просто в Python вообще не переживал за подобные вещи, у меня была БД с юзерами и там были национальные имена. И были и норвежские и китайские и все просто работало. А тут, я так понимаю, просто не будет

Maxim
19.04.2017
10:45:25
есть серьезное подозрение, что они хранились в utf-8, и все должно быть нормально)

если под виндой в терминале нужно видеть строки в utf-8, перед запуском программы нужно сделать chcp 65001

Dmitry
19.04.2017
10:47:59
Подскажите по паттарну проектирования как лучше сделать. Метод читает данные из БД в массив структур. Как лучше, чтобы он возвращал этот массив как return MydataStruct или просто из себя заполнял какую-то внешнюю переменную?

qwerty
19.04.2017
10:48:22
Dmitry
19.04.2017
10:51:08
а стоит как @property помечать? чтобы я как с переменной мог работать? По идее же я могу и результат функции через foreach перебирать?

Maxim
19.04.2017
10:53:00
вроде бы сейчас можно из без @property не писать скобки, если в метод ничего не передается

Dmitry
19.04.2017
10:53:50
раньше для этого проперти был обязателен?

Maxim
19.04.2017
10:54:16
да черт его знает, не помню)

вроде бы да)

Dmitry
19.04.2017
10:55:09
если я правильно понимаю проперти нужен там, где нужно иметь назначать на функцию значение как на переменную так?

немого не по теме канала, но если в каталоге лежат файлы: Makefile Makefile.in nominatim.c tokenstringreplacements.inc utfasciitable.h то из них .so можно получить?

если да то какой командой

Денис
20.04.2017
12:35:22
Попробуй make

А вообще можешь скинуть содержимое Makefile'а?

Google
Dmitry
20.04.2017
12:36:20
MODULES = nominatim PGXS := /usr/pgsql-9.3/lib/pgxs/src/makefiles/pgxs.mk PG_CONFIG := /usr/pgsql-9.3/bin/pg_config include $(PGXS) all: chmod 755 nominatim.so install: @echo Library does not need to be installed.

Денис
20.04.2017
12:37:03
Окей. А Makefile.in?

Ну попробуй влоб скомпилить nominatim

gcc nominatim.c -o nominatim.so

А, ты из винды. Тогда cygwin нужен

Dmitry
20.04.2017
12:40:14
Linux на виртуалке

Денис
20.04.2017
12:40:31
А, ну тогда из-под виртуалки попробуй gcc скомпилить

Grigirii
20.04.2017
12:40:48
просто make должен всё собрать. даже без аргументов

Dmitry
20.04.2017
12:41:16
заголовочные файлы не может найти...

Admin
ERROR: S client not available

Денис
20.04.2017
12:41:24
А какие?

Dmitry
20.04.2017
12:41:28
#include "postgres.h" #include "fmgr.h" #include "mb/pg_wchar.h" #include <utfasciitable.h>

Grigirii
20.04.2017
12:42:07
тогда вот ман: http://stackoverflow.com/questions/2531827/what-are-makefile-am-and-makefile-in

Денис
20.04.2017
12:43:03
gcc -I "путь до нужных заголовков" nominatim.c -o nominatim.so

Dmitry
20.04.2017
12:43:14
угу, спасибо

Grigirii
20.04.2017
12:44:04
не стоит собирать руками то, что имеет automake. обычно прокатывает autoconf ./configure.in automake make

Dmitry
20.04.2017
12:45:18
а в какой момент заголовки подсовывать?

[root@localhost module]# ls Makefile Makefile.in nominatim.c tokenstringreplacements.inc utfasciitable.h [root@localhost module]# autoconf autoconf: error: no input file

Grigirii
20.04.2017
12:46:59
а откуда у тебя такой код? обычно Makefile генерируется на выходе automake. И обычно есть мануал по сборке

Dmitry
20.04.2017
12:47:58
https://github.com/openstreetmap/Nominatim

Google
qwerty
20.04.2017
12:48:23
https://github.com/openstreetmap/Nominatim#installation

Grigirii
20.04.2017
12:48:24
Compile Nominatim: mkdir build cd build cmake .. make

Dmitry
20.04.2017
12:50:13
CMake Error: The source directory "/var/www/html/nominatim/nominatim-2.2.0" does not appear to contain CMakeLists.txt

это после cmake

qwerty
20.04.2017
12:51:02
http://screencloud.net/v/eKzH9

Grigirii
20.04.2017
12:51:06
он там есть, ты выдимо не всё выкачал или хз что

Dmitry
20.04.2017
12:55:47
они этот файл забыли в дистрибутив походу положить

тока в гите он лежит. А в файлах под загрузку нет

Так, а зачем Ди может быть нужен JIT? http://forum.dlang.org/thread/tezusurnqwgahslzckdc@forum.dlang.org

Grigirii
20.04.2017
14:36:47
он движок ctfe пишет, там нужен. Ну и может на перспективу интересно

Pavel
20.04.2017
14:36:58
даже хз, может чтобы код можно было дописывать прямо на лету?

Pavel
20.04.2017
14:39:31
ну типа того

Oleg
20.04.2017
14:39:46
тогда это уже будет не D)

Pavel
20.04.2017
14:39:51
метаметапрограммирование)

Oleg
20.04.2017
14:40:22
на каком-нибудь RPi я бы не хотел чтобы это ресурсы отъедало

Pavel
20.04.2017
14:41:15
ну если это будет подключаться как какой-нибудь отдельный модуль то почему нет

Oleg
20.04.2017
14:41:46
тут, наверное, даже не модуль, а флаг компиляции

и, кстати, в некоторых архитектурах блоки данных типа физически (по логике) отделены от блока кода

(но существуют способы копировать)

Grigirii
20.04.2017
14:43:09
да и на x86 нельзя так просто запустить код из секции данных. там для этого не мало защиты и костылей для обхода защиты

Страница 158 из 719