
Toha
10.08.2018
05:12:54
мне вот vue нравится)
Но чтобы все это работало, Как говорил один умный человек, нужно обмазаться всякими там вебпаками с бабелями)

Dark
10.08.2018
05:15:51
Не, можно и без вебпака обойтись, он только для файлов-компонентов нужен.
Ну а вообще, есть жизненная песня

Google

Dark
10.08.2018
05:22:22
We are gonna build a framork
'cos we wanna use one, but don't wanna choose one
We're gonna build a framework
We didn't like others, so let's write another

Toha
10.08.2018
05:42:26
Ребят, а как правильно определить ассоциативный массив, ключами которого будет int, а значением массив из строк?
типа, string[][int]?

Maxim
10.08.2018
05:44:22
string[int] foo;

Toha
10.08.2018
05:44:59
мне нужно в значение массив строк писать, а в твоем варианте значение - просто строка)
хотя, к черту, можно во время заполнения делать одну большую строку, тиак даже прое будет

Maxim
10.08.2018
05:45:32
а, ну тогда да
ну или
alias StringArray = string[];
StringArray[int] foo;
так нагляднее)

Toha
10.08.2018
05:47:43
ммм...
красота)

Google

Toha
10.08.2018
05:47:56
спасибо! :)
Ребят, в ктонибудь кодит в vs-code?
У меня расширение для ди не стартует
нужно отдельно от code-d устанавливать workspace-d?
или что-то еще?

NullSanya
10.08.2018
07:37:35
Просто ставишь
путь к стд прописываешь
и все

Toha
10.08.2018
07:37:48
2018-08-10T14:37:16.740:extension.d:startDCD:527 std.process.ProcessException@std/process.d(379): Executable file not found: dcd-client
этот бинарик в папке с либами в .dub лежит
а где его прописать?

Dmitry
10.08.2018
07:48:20

Toha
10.08.2018
08:08:57
не помогло)
о, а если удалить code-d, то помогло)
Ребят, кому можно код показать на ревью? :)
хочу узнать, ЧЯДНТ :)
как было б правильнее
не сейчас, чуть позже :)

Google

NullSanya
10.08.2018
10:25:08
Кидай просто сюда, все посмотрют скажут
кто-нибудь знает что такое Higher-Kinded Types?

Dmitry
10.08.2018
10:30:11
Где ты это нашел?

NullSanya
10.08.2018
10:31:42
Где ты это нашел?
Ну вот читаю коменты под статьями о расте, народ с раста требует это.

Dmitry
10.08.2018
10:33:45
http://qaru.site/questions/1540/what-is-a-higher-kinded-type-in-scala
Я хз для каких задач все это нужно. Я наследование то использую очень редко. А уж система типов такого уровня мне кажется дикий оверхэд

NullSanya
10.08.2018
10:35:16
Ну в расте оверхедом такое не сделают

Dmitry
10.08.2018
10:35:21
Ди и так уже очень не простым стал

NullSanya
10.08.2018
10:35:54
Не. в ди может такое и не надо

Toha
10.08.2018
10:58:51
в ди есть примеси)
и композиция)

Pavel
10.08.2018
12:08:55
https://docs.microsoft.com/ru-ru/dotnet/csharp/reference-semantics-with-value-types вот хорошо объяснено что такое in, out

Toha
10.08.2018
12:11:47
ну т.е. я в функцию как обычно передалю &myInstance
а в сигнатуре указываю (in MyClass myinstance)?
или (in MyClass* myInstance)?

Pavel
10.08.2018
12:12:51
Не, & и * не нужны, так как классы всегда передаются по ссылке. У них так семантика работает.
А вот структуры наоборот всегда по значению, если только явно не переданы через ref

Toha
10.08.2018
12:13:11
понял
а если я хочу копию класса передать?

Pavel
10.08.2018
12:13:42
Оу ну это надо делать его clone() и там все сложно.

Google

Toha
10.08.2018
12:13:59

Pavel
10.08.2018
12:14:13
В разных языках даже есть целые библиотеки, которые делают глубокие копии и так далее, в общем копирование объектов это сложно.

Toha
10.08.2018
12:14:56
полагаю, между тредами выгоднее всего скаляры гонять. Но если нужно что-т большее, то только структуры)

Pavel
10.08.2018
12:15:16
Это еще сложнее ) Это ваще гемор в Д

Toha
10.08.2018
12:15:38
Да я бы не сказал
spawn(), send(), receive() :))

Pavel
10.08.2018
12:16:11
можно делать immutable классы, которые не изменяются, и тогда их можно гонять между тредами. А еще в vibed есть всякие слабые ссылки и прочий стаф для определения того что может быть передано. Причем не только между тредами но и между тасками в асинк задачах.
> если нужно что-т большее, то только структуры)
Во-первых если копировать структуру в новую структуру, то это не отменяет проблем, а лишь заменяет проблему конкурентного доступа на проблему наличия копии структуры.
То есть раньше мы работали со структурой и боролись за то чтобы треды не мешали друг другу, то теперь треды не мешают друг другу, но что нам делать с почти одинаковыми двумя структурами? Тоже проблема.

Toha
10.08.2018
12:18:34
Ну от задачи зависит ведь

Admin
ERROR: S client not available

Pavel
10.08.2018
12:18:49
Во-вторых если структура очень жирная (или если очень много структур, что считай то же самое), то все равно выгоднее передавать указатели а не копировать.

Toha
10.08.2018
12:19:02
соглашусь
например, я вчера-сегодня говнокодил многопоточный поиск подстроки)

Pavel
10.08.2018
12:19:29
Ну от задачи зависит ведь
Тут не применима формулировка "выгоднее передавать скаляры". Конечно оно приятнее и выгоднее, но при этом может совершенно порушиться читабельность.

Toha
10.08.2018
12:19:47
я использовал сообщения для того, чтобы рулить потоками, и как раз легкие структуры для того, чтобы влиять на поведение потоков
и был один shared string[] по которому потоки искали)
в synchronized не оборачивал, потому что потоки только читают, но не изменяют эту переменную

Pavel
10.08.2018
12:21:11
Ну тогда надо было объявить это как const shared string[] или immutable shared string[]

NullSanya
10.08.2018
12:27:15

Google

Pavel
10.08.2018
12:28:02
Не помню если честно..
Может и нет

Toha
10.08.2018
12:29:20
там кажется или, или
но const не получилось бы
потому что перед поисками я эту переменную наполняю данными

NullSanya
10.08.2018
12:31:17

Toha
10.08.2018
12:31:47
в главном потоке перед запуском воркеров

NullSanya
10.08.2018
12:32:27

Toha
10.08.2018
12:33:47
У меня все проще :)
Я ее никуда в аргументах не передаю :))
она просто глобальная переменная:)

NullSanya
10.08.2018
12:34:29

Toha
10.08.2018
12:34:44
в 21 :)
не нужно мне щас рассказывать про то что это плохо :)

NullSanya
10.08.2018
12:35:07
это коряво
зачем вообще это делать глобальной?

Toha
10.08.2018
12:39:50
мне нужен был прототип:)

NullSanya
10.08.2018
12:40:21

Toha
10.08.2018
12:40:37
кстати
а хэшмапы по значению передаются, или по ссылке?

NullSanya
10.08.2018
12:40:52
ссылка

Toha
10.08.2018
12:40:54
string[int]
спасибо :)