Αλεχ
T имплементит Into<Option<T>>
кстати круто, не знал
Αλεχ
SpellingBuilder::new().do().smth().build().check()
у тебя тут нет структуры. Есть функция с 22 аргументами
Αλεχ
так это ж понятно
Αλεχ
но если аргументов например 5, из них 3 - дефолтные, то писать билдер под это - не очень
Cat
тогда не делай
Αλεχ
короче о чем спор? Дефолтные аргументы - удобно, область у них есть. ПОльза от них больше ,чем от сраных try throw. Надо бы их запилить.
պլհկ
запиливай
Αλεχ
что с func(a, b = 0, c, d = 10) ?
сначала обязательные аргументы
Sergey
И вообще именованные аргументы бы
Cat
сначала обязательные аргументы
ну т.е. и порядок ключей потом можно будет произвольный?
Αλεχ
И вообще именованные аргументы бы
ну это все одно к одному
Cat
здорово
Cat
10/10
Cat
я против
պլհկ
кейворд аргументс решают проблему которой не должно быть изначально
պլհկ
а именно функции с хуилионом аргументов
Αλεχ
https://ideone.com/NaAclF
Αλεχ
кейворд аргументс решают проблему которой не должно быть изначально
бывает один редкий дефолтный аргумент например
Αλεχ
пилить 2 функции - не очень, требовать юзера указывать None - тоже
Αλεχ
типичный пример - CancellationToken в async-операциях.
Αλεχ
В случае раста это не сильно в тему, ибо футура без полла не двигается, но есть и другие сценарии
Alexander
Кто-то rethink из раста дёргал? Никак не получается desc order_by сделать.
Alexander
Без примеров кода, конечно помочь легче
Добавь ещё "на playground" как в прошлый раз. :)
Cat
Без примеров кода, конечно помочь легче на playground
Alexander
Вот даже интересно какие бы тут примеры - как я с базой соедниняюсь?
Cat
сам запрос хотя бы
պլհկ
пиши issue на гитхуб
Alexander
Запрос на питоне: r.db(..).table(..).order_by(index = r.desc('time')).limit(10).run(c)
Alexander
Я не знаю как передать этот r.desc('time') в параметрах.
Cat
не оно?
Cat
или это обманная дока
Alexander
или это обманная дока
Это обманная дока - в ней примеры запросов прямо на js.
Cat
клёво клёво
Roma
{index: 'date'} чо за раст? %)
Alexander
Это в целом как бы оно, но только надо desc
Loyd
Под это дело бабло надо
Ну такое. Это не СУБД пилить
Loyd
Если для распределенных локов и инфы о потребителях брать какое-нибудь etcd/tikv, так вообще
Loyd
Хотя и растовая популярная реализация raft-а вроде ничего, можно и самим
Alexander
Если кто не видел, то Раст слил си-шарпу: https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/knucleotide.html
Loyd
Радуют меня тесты эти, конечно
Loyd
https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/knucleotide-csharpcore-9.html ппц идиоматичный код, ага
Loyd
Пляски вокруг указателей, AggressiveInlining во все поля и т.д. Настоящие шарпы, ничего не скажешь
Loyd
Не сказать, что раст лучше тут
Loyd
Собственно, только в си это всё каноничным выглядит
Loyd
Алсо, в сях omp во все поля
Loyd
Ну, всё же в расте довольно идиоматично всё равно
Loyd
Ну и нет inline(always) в отличие от
Alexander
Ну, всё же в расте довольно идиоматично всё равно
Просто я их расставил, а потом убрал :) потому как без них хз как оно.
Loyd
Вот рандомно крутанул и сразу это
Loyd
А, ну это print, он наверное нечасто вызывается
NermaN 𓅂
Объясните пожалуйста как починить вот это
NermaN 𓅂
http://play.rust-lang.org/?gist=eea5226764e8093c6b9c2c42b6961f1e&version=stable&mode=debug&edition=2015
NermaN 𓅂
Вроде ничего сложного, но нивкакую
Alexander
@Nalorokk так? http://play.rust-lang.org/?gist=62f16f76d2977fa005836934ddd1200b&version=nightly&mode=debug&edition=2015
Alexander
@Vk_Tor если ты готов на c+asm, значит зависимости тебя мало волнуют, а раз зависимости мало волнуют, то и на расте пойдёт. правда хз о каком 3d ты вообще.
Anton
Ещё короче можно как в с++ оператор перезагружать
еще можно как в D поставить функции @property, и юзать ее как сеттер или геттер
Слава
Если кто не видел, то Раст слил си-шарпу: https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/knucleotide.html
Ох и байтогрызение там внутри. Только генерации IL-кода не хватает до кучи.
Bogdan (SirEdvin)
С питона же
NermaN 𓅂
существует итератор к vec который выдаст элементы в случайном порядке?
Loyd
Нет, но используя swap_remove легко написать
Loyd
(Ну и rand, разумеется)
Roma
можно с std::rand::sample мутануть
պլհկ
Есть choose и shuffle и sample_iter
Roma
можно с std::rand::sample мутануть
rand просто, в стд это древнее чот
Tuntz
У меня есть трейт: trait MyService { fn do_something -> Box<Future<Item = MyItem, Error = MyError>>; } Как его обобщить так, чтобы в одном из вариантов к возвращаемой футуре прицепить Send?
Αλεχ
как ты себе это представляешь?)
Αλεχ
у тебя Box - это динамический диспатч. Send - часть статического
Αλεχ
делай трейт MyServiceSend : Send хз
Tuntz
нужно чтобы был второй вариант, который возвращал Box<Future<Item = MyItem, Error = MyError> + Send>