@dlangru

Страница 13 из 719
Dmitry
01.06.2016
14:03:07
да выложу я их как только отвяжу от Аранго

в котором рабочий проект сделан

coda
04.06.2016
18:49:59
?

Just
04.06.2016
18:52:02
сори, клаву чернылом испачкал и вот оттирал

Google
Alex
05.06.2016
14:17:17
хули значит

тут можно пиар групп

а в вашей группе нашу уже нельзя?

кто одмен забань

ах ты скотина

Pavel
05.06.2016
14:30:07
Придет одмин тебя забанит

Dmitry
08.06.2016
13:58:39
Подскажи, я что-то дико уже час туплю над простой задачкой. Есть массив пользователей логин-пароль. Мне надо проверить есть ли в нем тот пользователь который со стороны сайта пришел. Получается я должен сделать переборку foreach (user ; users) { вот-тут-проверка-есть-ли-рквизиты-с-сайта-в-перебираемом-элементе если есть ответ: да если нет ответ: нет } проболема в том, что вот допустим пришел пользователь Вася. А первым для итерации оказался пользователь Петя. В итоге у нас срабатывает условие "Нет". И только потом еще запрос один отправляется, когда до Васи переборка доходит, но уже поздно. Я что-то не могу понять, как мне перебрать весь набор и отправить только один ответ.

Eto
08.06.2016
13:59:21
Откуда у тебя там вообще перебор?

Обычно же запрос в базу делается.

Она уже возвращает либо запись пользователя, либо ничего.

Dmitry
08.06.2016
13:59:48
у меня не в базе...

точнее не совсем в базе

а хотя да...

Google
Dmitry
08.06.2016
14:00:46
кажется реально надо иначе

пасибо)

а то я блин дико с этим тупил)

Eto
08.06.2016
14:01:54
Пожалуйста.

0x9d8e
08.06.2016
14:04:32
А если и перебор, то как-то так: foreach(user; users) { if(user.checkPassword(password)) { return true; } } return false;

Dmitry
08.06.2016
14:05:40
А если у меня тип объявлен как auto, и мне нужно к колекции иметь доступ снаружи (т.е. чтобы она была до скоупа), то как быть: void getUsersFromDB() { auto db = DataBase(dbname); // users and visitors information auto usersCollection = db.collection!User("Users", true); auto usersInDb = db.collection!User("Users"); } —- могу ли я у самой функции сделать тип овзврата auto к примеру? и возвращать именно тип данной коллекции?

Eto
08.06.2016
14:06:14
Да, можешь.

auto, как возвращаемый тип, обычно используется для Волдеморт-типов.

Dmitry
08.06.2016
14:07:23
как лучше (тип возврата сделать коллекцию или коллецию до скоупа объявить)?

Max
08.06.2016
14:07:51
auto, грубо говоря вообще не тип, а сахар языка

Eto
08.06.2016
14:08:08
А, коллекцию до скоупа — это ты что подразумеваешь?

Dmitry
08.06.2016
14:08:40
auto usersCollection; // доступна глобально void getUsersFromDB() { }

Eto
08.06.2016
14:08:59
Хотя, для всех сразу, может и прокатит.

Но сразу проблемы с многопоточностью и подобным.

Dmitry
08.06.2016
14:09:36
А как компилятор тип поймет? Как я понимаю auto только там где тип ясен

Eto
08.06.2016
14:10:40
Вот, кстати. auto usersCollection; работать не будет. Т.к. тут не из чего выяснить тип переменной.

Dmitry
08.06.2016
14:11:04
т.к. только тип возврата остается?

вариант с return usersInDb; прокатил, но просто интересно можно ли еще что

Google
Eto
08.06.2016
14:12:11
При использовании auto компилятору нужно самому определить, какой это тип. Если это нельзя сделать — то и программу скомпилировать нельзя.

Dmitry
08.06.2016
14:12:59
пасибо)

Eto
08.06.2016
14:13:56
Кто бы мне теперь объяснил, как стримы в node.js делать.

Dmitry
08.06.2016
14:14:29
Кстати, что такое стримы?))

я не совсем понял где и зачем они нужны.

Eto
08.06.2016
14:20:03
На работе новый проект на Node.js Вот, думаю кастомный стрим сделать. Да не знаю, как именно.

В общем, проехали. Это оффтоп для данной группы.

Dmitry
08.06.2016
14:20:37
а в ди стримы есть?

Eto
08.06.2016
14:20:56
Официальных — нет.

Max
08.06.2016
14:21:15
Есть

Dmitry
08.06.2016
14:21:19
а чем это хорошо\плохо без них?

Eto
08.06.2016
14:21:20
Есть std.stream, но он deprecated. Документацию не так давно удалили.

Dmitry
08.06.2016
14:21:24
какую задачу они решают?

Eto
08.06.2016
14:21:57
Тоже что и ranges. Только более generic.

Есть
Может что-то новое появилось, о чём я ещё не в курсе?

Max
08.06.2016
14:23:47
Нет, я о std.stream говорил

Доки кстати на месте, выпилить в октябре обещают

Eto
08.06.2016
14:24:54
С сайта документацию выпилили.

Pavel
09.06.2016
10:44:27
А чего стримы выпилили то? Они же в куче языков есть

Google
Pavel
09.06.2016
10:44:39
Что вместо них?

Eto
09.06.2016
10:46:50
Ranges

Стримы просто очень корявые были. Примерно, как в .NET

Но что-то никто не спешит свою реализацию предложить.

Dmitry
09.06.2016
10:48:04
Объясните для дурака что это такое и где нужно на очень простых примерах плиз

А так же чем они плохи

Eto
09.06.2016
10:48:34
Ты погугли.

А чем плохи в .NET — там проще застрелиться, чем собственные стримы реализовать.

Там десятка 2 методов и все нужно реализовать.

Pavel
09.06.2016
10:49:28
Ну стрим, говоря нубским языком, это класс который представляет некий поток байтов который ты можешь читать

ну и/или писать

stream - "поток"

Например файл открыл стримом и читаешь его

Или сетевой сокет

Чем они плохи? Не знаю, самому интересно почему решили отказаться в пользу ренджей

Eto
09.06.2016
10:52:19
https://github.com/dlang/phobos/blob/master/std/stream.d Вот, сам посмотри и скажи, чем они плохи.

Чем они плохи? Не знаю, самому интересно почему решили отказаться в пользу ренджей
Отказались _не в пользу_. Отказались от такой реализации. (Я так думаю.)

Pavel
09.06.2016
10:54:37
Я бегло просмотрел, затрудняюсь сказать что там плохо. Может быть то что там много базовых типов перебирается, и лучше сделать как-то универсально?

void write(byte x) { writeExact(&x, x.sizeof); } void write(ubyte x) { writeExact(&x, x.sizeof); } void write(short x) { writeExact(&x, x.sizeof); } void write(ushort x) { writeExact(&x, x.sizeof); }вот эти вот портянки мне не нравятся

Eto
09.06.2016
11:12:02
Вероятно.

Google
Dmitry
09.06.2016
11:19:22
А как без них с теми же файлами работа идет?

Про произвольный доступ я читал

Eto
09.06.2016
11:19:49
module std.stream is deprecated - Will be removed by phobos version 2.070 https://forum.dlang.org/thread/gdmydpmrxfgtvrkpyfcv@forum.dlang.org

А как без них с теми же файлами работа идет?
Оборачиваешь в range и работаешь.

Dmitry
09.06.2016
15:53:37
Дискуссию я несколько раз читал. Я фишку не подсекаю. Есть какие то статьи чтобы суть понять?

Eto
09.06.2016
16:41:50
К сожалению не знаю таковых.

Dmitry
10.06.2016
06:27:23
Вопрос на засыпку. Опять к теме про пользователей. Как лучше сделать Мне нужно проверить есть ли пользователь в БД и вернуть его группу, имя и допустим пароль. Как это лучше сделать? Структуру объявить?

И тогда получается до функции должна будет идти структура? struct UserRight (или как лучше назвать?) { bool isExists; string name; string group; } или как?

Eto
10.06.2016
06:37:36
Я бы просто использовал что-нибудь типа Nullable!User getUser(...). И возвращал полную запись из БД. Конечно оптимальнее возвращать только нужные поля. И лучше так и сделать, если тебя не смущает, что нужно больше кода написать.

Max
10.06.2016
06:38:53
Структура может быть где угодно, у D не однопроходный компилятор, и не хидеры

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