@dlangru

Страница 652 из 719
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
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[]

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
мне нужен был прототип:)
а что мешало в main сделать и передать параметром

Toha
10.08.2018
12:40:37
кстати

а хэшмапы по значению передаются, или по ссылке?

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

Toha
10.08.2018
12:40:54
string[int]

спасибо :)

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