
qwerty
18.04.2017
15:23:31
оба int разумеется
int number;
readf("%d\n", &number);
int val;
readf("%d\n", &val);
так надо делать

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 ?

Oleg
18.04.2017
15:30:53

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(); // имеет ли смысл закрывать тут?

Oleg
19.04.2017
09:53:07
можно ещё вот так:
import std.conv;
string str = "ёёё";
auto res = str.to!wstring;
или я не про то что нужно?

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

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

Maxim
19.04.2017
10:49:59

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
даже хз, может чтобы код можно было дописывать прямо на лету?

Oleg
20.04.2017
14:39:20
типа eval?

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 нельзя так просто запустить код из секции данных. там для этого не мало защиты и костылей для обхода защиты