
qwe
11.07.2016
12:36:11
точно? Если стабильнее Rust, то очень круто. Потому что после 1.0, насколько я понял, они еще не нарушали ее

Eto
11.07.2016
13:03:33
Сейчас постоянно оставляют обратную совместимость через compiler switch.

qwe
11.07.2016
13:03:49
compiler switch?

Eto
11.07.2016
13:06:34
http://dlang.org/changelog/2.071.0.html#dip22

Google

Dmitry
11.07.2016
13:10:19
в моих пусть и небольших проектах что-то серьезное вообще не ломалось. Максимум деприкейшен месседж получал.

qwe
12.07.2016
17:29:42
Кто-нибудь делал массив указателей?
Нужно перебирать поля в цикле
и присвивать им значения

Eto
12.07.2016
17:38:08
Неа. А в чём сложность?

qwe
12.07.2016
17:42:01
я получаю такую ошибку Error: cannot modify immutable expression *cast(immutable(char)*)vals[0]
при том, что char в классе нет)
ой
стоп
я прошу прощения, в переменных запутался
все нормально

Eto
12.07.2016
17:44:45
:)

qwe
12.07.2016
17:45:59
Еще вопрос нормально указывать, что импортируешь из файла (import std.path : chainPath;) или лучше делать (import std.path;) ?

Google

qwe
12.07.2016
17:46:14
из модуля то есть, а не из файла

Oleg
12.07.2016
17:51:10
лучше импортировать только то что нужно по сути
но это если тебе мало нужно
иначе как-то выглядит громоздко

qwe
12.07.2016
17:51:44
Зато другой программист сразу поймет, что откуда берется

Eto
12.07.2016
17:57:39
В функциях всегда лучше использовать выборочный импорт.

qwe
12.07.2016
17:57:59
в теле функции? Это нормально?

Eto
12.07.2016
17:59:00
Да, если какая-то мелочь нужна только для этой функции.
Или, если это тесты.

qwe
12.07.2016
18:00:28
еще вопрос. Строку без idub можно передать как-то? Мне копировать совсем не хочется. А в методе, куда хочу передать надо split сделать

Eto
12.07.2016
18:01:00
Строку — это char[]?

qwe
12.07.2016
18:03:01
да, вроде string
сейчас проверю

Eto
12.07.2016
18:04:46
Тогда какие проблемы? string это immutable(char)[]. Т.е. содержимое меняться не может. Да и split ничего не должен с содержимым делать.

qwe
12.07.2016
18:05:02
момент
так, там оказывается был char[], прошу прощения
кстати тип можно вывести как-нибудь?
или через gdb только можно узнать?
через ptype имел ввиду
в gdb

Google

Eto
12.07.2016
18:38:01
pragma(msg, typeof(...))

qwe
13.07.2016
14:17:59
Добрый день! Никто не подскажет в C++ так можно было делать http://vpaste.net/V6tep ? Тут получается, что можно вернуть любого типа значение, если метод шаблонный. Это нормальная практика? Я смотрю, что такое и в std используется, и с подобным как раз не справляется синтаксический анализатор.

Oleg
13.07.2016
14:19:09
что-то сомневаюсь, что в С++ так можно делать было
ну может быть можно конкретно этот пример
всё приводится к double и всё
char как число тоже записывается в double
если во время компиляции вычисление, то это делается как-то так
auto func(int N)( int some_arg)
{
static if( N == 1 ) return 'c';
else static if( N == 2 ) return some_arg * 2;
else return 3.14;
}
тогда в зависимости от инстанцирующего параметра N будут разные типы возвращаться
но так как что D, что С++ компилируемые языки у функций должен быть определённый возвращаемый тип

Денис
13.07.2016
14:22:28

Oleg
13.07.2016
14:22:49
в С++ может и съест

qwe
13.07.2016
14:23:30

Денис
13.07.2016
14:24:01

qwe
13.07.2016
14:24:10
понял

Oleg
13.07.2016
14:25:25

qwe
13.07.2016
14:26:03
да, иначе бы не стал спрашивать

Oleg
13.07.2016
14:27:10
у func всегда тип double
вне зависимости от типа T и вне зависимости от аргумента par
это общий тип для всех 3х возвращаемых значений
если ты вместо 'c' напишешь "c" то всё пойдёт прахом

Google

qwe
13.07.2016
14:29:14
сработало(

Oleg
13.07.2016
14:29:26
сработало что?

qwe
13.07.2016
14:30:12
'c' заменить "c"

Oleg
13.07.2016
14:31:39
auto func(T)(int par) {
switch(par)
{
case 0:
return "c";
case 1:
return 0;
default:
return 1.0;
}
}
void main()
{
import std.stdio;
writeln( func!string(0) );
}
rdmd ololo.d
ololo.d(7): Error: ololo.d(7): Error: mismatched function return type inference of int and string
ololo.d(16): Error: template instance ololo.func!string error instantiating
mismatched function return type inference of int and string
ololo.d(16): Error: template instance ololo.func!string error instantiating
Failed: ["dmd", "-v", "-o-", "ololo.d", Failed: ["dmd", "-v", "-o-", "ololo.d", "-I."]
"-I."]

qwe
13.07.2016
14:32:18
хм

Oleg
13.07.2016
14:32:32
а ты её вызывал или просто скомпилил?
если просто скомпилил, без вызова в коде, то она просто не инстанцировалась

Eto
13.07.2016
14:38:16
auto func(T)() — шаблон
func!(int) — функция

Admin
ERROR: S client not available

qwe
13.07.2016
14:39:52
прошу прощения, отвлекся
стыдно сказать, но я делаю через dub run
да, разумеется вызываю
сейчас все лишнее уберу и покажу

Eto
13.07.2016
14:41:07
А чего в этом стыдного?
Да, и сообщения можно редактировать. Незачем использовать устаревший мета-синтаксис со звёздочками.

qwe
13.07.2016
14:42:53
стыдно то, что не знаю с какими фалагами компилируется проект
про удаление не знал)
telegram только из-за этой группы начал использовать

Eto
13.07.2016
14:43:59
:)

qwe
13.07.2016
14:44:58
О! не скомпилировалось

Google

qwe
13.07.2016
14:45:05
Олег прав
а map возвращает не массив?
int[] vals = map!(x => to!int(x))(split(strip(line), " ")) ошибку дает
говорит что map возвращает MapResult

Макс
13.07.2016
17:45:38
Да, там какой-то свой range-based результат вроде, но у него есть то ли toArray(), то ли какой-то такой метод, если надо. (Хотя если нужен, допустим, просто foreach, то можно с этим MapResult и работать ведь.)

qwe
13.07.2016
17:46:12
да, нагуглил что-то http://forum.dlang.org/post/sereqjessazkulwckrpc@forum.dlang.org
After all, the .length function returns an int, and we have an array of them, so map returns an int, right? Wrong!
у меня точно такие же мысли были)
хм, говорит, что нет такого свойства
аа, понял, это тоже метод
из std.range

Макс
13.07.2016
17:55:13
https://dlang.org/phobos/std_array.html#array
Allocates an array and initializes it with copies of the elements of range r.
Подойдёт?)

qwe
13.07.2016
17:56:24
)
тоже подходит

Макс
14.07.2016
09:40:07
Подскажите, что заюзать для интернационализации? Есть какие-то хорошие библиотеки, какие-то форматы файлов переводов? Никогда раньше этим делом не занимался. Самый сложный вопрос, кажется, в том, как хранить переводы конструкций, где форма зависит от числа («1 юзер»/«2 юзера»/«5 юзеров»), для остального я бы и сам на INI всё придумал, а тут непонятно что делать.
Википедия говорит, что в gettext() для этого пихают сишный код прямо в файлы переводов и затем компилируют. Я бы сказал, что это... эмм... так себе подход.

Oleg
14.07.2016
09:45:03
тоже задавался этим вопросом, большинство либ зарубежными разработчиками написаны, поэтому они не полностью удовлетворяют потребности русских разработчиков
я не нашёл ничего стоящего

Mike
14.07.2016
09:45:34
написать самому