
Sergey
01.11.2016
17:39:31
сейчас вот впервые столкнулся с необходимостью использовать спецификатор доступа pakage. И тут все не так, как он писал

0x9d8e
01.11.2016
17:40:04
У меня помнится больше половины примеров из его книги не компилилось.

Sergey
01.11.2016
17:40:12
не достаточно, чтобы модули находились в одной папке

Google

0x9d8e
01.11.2016
17:41:45
Однако сама книга очень понравилась просто как "сборник мыслей программиста, радикально лучшего, чем я".

Sergey
01.11.2016
17:42:37
тут никто не спорит, отличное введение в язык. Все мелкие недочеты легко простить. Мне очень понравился юмор

Max
01.11.2016
18:22:59

Oleg
01.11.2016
23:21:33

Sergey
02.11.2016
03:21:25
с его книгой, на самом деле, не все так однозначно). Местами, действительно язык уже изменился, а местаим язык все еще не изменился. В некокторых местах (да то же самое alias this) он описывал возможности, которые, на момент написания книги, не поддерживались языком, в надежде на то, что к выходу книги все изменится. Но книге много лет, а воз и ныне там. Это ни в коем случае не придирка. Ситуация, на мой взгляд, со всех сторон нормальная. Да и не очень-то они нужны эти несостоявшиеся возможности, видимо поэтому они и не появились

Dmitry
02.11.2016
05:02:31
Кстати когда я говорил о том чтобы сделать микродистрибутив вайба я имел ввиду что то вроде https://m.geektimes.ru/post/282116/ плюс сам вайб
Итого реальный микроинстанс будет


Sergey
02.11.2016
18:40:42
нужна ваша помощь.
Не понимаю, почему код не работает
mixin template Singletone()
{
static typeof(this) _instance;
private this()
{
static if (__traits(hasMember, typeof(this), "init"))
{
this.init();//Ошибка: no property 'opCall' for type 'B'
}
}
@property static typeof(this) instance()
{
if (!_instance)
_instance = new typeof(this)();
return _instance;
}
}
class A
{
mixin Singletone;
void init()
{
//...
}
}
class B
{
mixin Singletone;
}
не понимаю, почему проходит проверка static if (__traits(hasMember, typeof(this), "init")) для B
init пробовал называть по-другому (на всякий).
Понимаю, что скорее всего туплю, но даже приблизительно не подозреваю, в каком месте)
(opDispatch не хочется, так как "ну, должно же работать!")
проблему обошел сделав init "виртуальным" методом базового класса. Вызываю без всяких static if, работает.
Но вопрос остается открытым


Oleg
02.11.2016
18:59:20
может стоит назвать не init а как-то по другому?
у каждого типа есть свойство init, возвращающее инициализирующее значение типа
для всех классов это null

Google

Oleg
02.11.2016
19:00:25
мало ли, может с этим связанно
просто в mixin'ах есть некоторые баги
если это работает "просто как есть" возможно не будет работать через mixin

Sergey
02.11.2016
19:02:19
и вы действительно правы

Oleg
02.11.2016
19:08:23
static if (is(typeof(this.initialize())))

Sergey
02.11.2016
19:08:27
видимо есть и стандартный init3
да, только что так сделал и сработало
ночной мозг: тут же в соседнем классе думал, про то, как отрабатывает стандартный init, а в этом месте ведь даже в голову не пришло
Спасибо

qwe
02.11.2016
19:46:27
У чего может не быть поля classinfo?

Sergey
03.11.2016
13:12:39
у не класса?
структуры, шаблона?
объединения (union)

qwe
03.11.2016
13:14:42
аа ок
понял
спасибо

Google

Sergey
03.11.2016
13:15:27
вообще, я не уверен) просто, вроде как, логично, что classinfo должен быть для класса, а общий случай TypeInfo
а classinfo, что-то типа TypeInfo_class возвращает
пишу по памяти. повторюсь, что не уверен

Alex
04.11.2016
11:35:11
/start@virtsex_bot

Sex Lovers
04.11.2016
11:35:12
Пишите по русски, пожалуйста!

Alex
04.11.2016
11:35:22
ку

Sex Lovers
04.11.2016
11:35:25
Ооо.. канфетки авкшныена экспорт вам укропам гонима вы там с жинкой?

Alex
04.11.2016
11:36:29
У чего может не быть поля classinfo?

Sex Lovers
04.11.2016
11:36:31
Может конечно может быть совпадением.

Alex
04.11.2016
11:36:58
Кстати, не скажете, а Ди нормально с путями на шаре работает я про сетевые пути вида //

Sex Lovers
04.11.2016
11:37:00
Ты кстати не ту я рядом сижу у меня нормально.

Alex
04.11.2016
11:43:35
а как тебе D?

Sex Lovers
04.11.2016
11:43:37
Тыужна здесь как на тебе испытать?

Alex
04.11.2016
11:45:20
ты баба?

Sex Lovers
04.11.2016
11:45:22
Я еще кажется просек где там в своих половых связяха то баба ж сама еще три раза кончишь.

qwe
04.11.2016
12:04:46
/start@virtsex_bot

Sex Lovers
04.11.2016
12:04:46
Пишите по русски, пожалуйста!

qwe
04.11.2016
12:05:45
На D написал?

Sex Lovers
04.11.2016
12:05:47
Вот как ты написал.. он жив был..

qwe
04.11.2016
12:06:29
/stop@virtsex_bot

Google

Sex Lovers
04.11.2016
12:06:31
Хам стыдишься жыны.

Evil
04.11.2016
12:08:45
Питон

Sex Lovers
04.11.2016
12:08:47
Добавь меня я же видел как питон удрал и заполз к бабке.

Oleg
04.11.2016
12:41:33
балаган развели)

Sex Lovers
04.11.2016
12:41:35
Пидор чулочнй кароч. тебя развели.

Oleg
04.11.2016
12:41:41
сука)

Admin
ERROR: S client not available

Sex Lovers
04.11.2016
12:41:43
Мы уже закрыли давно эту шмару пидарскую умри сука ебанная смерть тебе нахуй уёбок.

qwe
04.11.2016
12:41:54
какая жесть

Sex Lovers
04.11.2016
12:41:56
Жесть какая-то.

Oleg
04.11.2016
12:42:00
я удалю эту хрень, если никто не против)

Sex Lovers
04.11.2016
12:42:02
Если никто больше не нравится и никто ничего не заметил?

qwe
04.11.2016
12:42:06
я не против

Sex Lovers
04.11.2016
12:42:08
А я б своими губами не против то.

Pavel
04.11.2016
12:42:12
?

Sex Lovers
04.11.2016
12:42:13
Пишите по русски, пожалуйста!

Pavel
04.11.2016
12:42:43
Чтож, неплохо
Это на цепочках маркова или как? :)

Evil
04.11.2016
12:43:48
именно
и на каком-то адском сексчате, который я спарсил за этот год и сидел три дня вручную чистил от основного мусора)

Google

qwe
04.11.2016
12:49:21
?

Dmitry
04.11.2016
16:51:43
А как заставить dub на винде работать с русскими буквами? Просто тут у человека профиль по-русски назван и он не может ничего скомпилить

Evil
04.11.2016
16:53:01
1)Выкидываем винду
2)Читаем генту хендбук
3)Собираем генту
4)Компилируем ядро
5)Ставим граб
6)Запускаемся
7)Ставим dub
8)Компилируем

Oleg
04.11.2016
16:53:30
1)Открываем баг тркер dub
2)Ищем может кто уже сталивался
3)Делаем баг репорт

Dmitry
04.11.2016
16:54:43
Да баг давний... наверно с самой первой версии. Щас гляну конечно
Может можно как-то переопределить ему папку куда он зависимости скачанные кладет?
гда на винде лежит файл дабовских конфигов указанный тут? https://github.com/dlang/dub/issues/229

Oleg
04.11.2016
17:05:59
чёт где-то в localshare\appdata\dub
на память говорю
а вообще, можно посмотреть переменную и точно путь узнать
что-нибудь вроде echo в консоли набрать
на линухе просто
echo $PATH
а там наверное что-то вроде echo %AppData%

Evil
04.11.2016
17:24:35
Дима, вообще, выкинь даб :)

Oleg
04.11.2016
17:30:48
правильно, собирай руками всё)

Dmitry
04.11.2016
17:38:48
Петь, ну отчасти я уже разделяю твое отношение к dub