Нави
убедили переписать всё на string)))
ничего не остаётся, как согласиться с глупостью использовать &str
Anton
Anton
я везде юзаю as_ref оно может приводится к разным типам
Vladimir
типа as_ref для String будет и &String тоже, не?
Vladimir
и тогда очевидно что &String == &String
Нави
let keys: Vec<&'a str> = text.split("keys=").last().unwrap().split(";").next().unwrap().split(",").collect();
а как получить keys: Vec<String> ?
Vladimir
перед .collect() добавь .map(String::from)
Нави
хм, понятно, это для каждого элемента преобразование. Благодарю
Alexander
.to_string() тормозит дико, но это и понятно.
Нави
ой, спутал
Нави
'str - есть такое ? ('str = str.to_string() )
Нави
Всем спасибо, со String всё завелось с пол оборота)
Alexander
Сорян, а можно повторно спросить. Как обойти .clone() постоянный при индексировании слайсов?
Alexander
Маjко
А, ты про клонирование самих элементов
Маjко
Или ренджа? 🤔
Маjко
Короче, покажи код
Alexander
https://play.rust-lang.org/?gist=292be53400951d91668b80549d9259d1&version=nightly
Vladimir
Ну ты клонируешь не слайс, а ренж, это поидее условно бесплатно
Alexander
Почему бесплатно?
Alexander
+ я б ожидал и для & что он может взять.
Victor
если по & ему бы пришлось клонировать. а иначе как? Тоесть в любом случае clone() вызвался бы. не?
Cuno
Почему бесплатно?
Потому что это 2 usize
https://doc.rust-lang.org/std/ops/struct.Range.html
Vladimir
@inv2004 Ренж это по сути структурка с двумя интами, там бы мог быть даже неявный Copy, но https://github.com/rust-lang/rust/pull/27186#issuecomment-123390413
а взять слайс по & от ренжа раст мог бы, так как ренж действительно нужен только на момент вызова, но сейчас это не так https://doc.rust-lang.org/1.16.0/std/slice/trait.SliceIndex.html
Mark
https://twitter.com/nick_r_cameron/status/962839424877838336
Маjко
+
doc
надо rfc сначала завести
Cuno
https://www.reddit.com/r/rust/comments/7wvus2/announcing_depsrs_dependency_status_reports_and/
big
https://www.rustfest.eu
Anton
Anton
Раст это секта
Антон
Kerrigan
cargo появился позже, насколько я помню
Kerrigan
а в дистр раста его добавили совсем недавно
Anton
Я все еще не понимаю как разделять смехуечки на 2 чата
Anton
Один хуй в глаза долбимся почти все время, да и новостей с раст фронтов маловато
Anton
А вообще расту нужны петушиные подкасты
Anton
Как у жсовцев
Anton
Типо круто модно молодежно
Anton
Антон
Так есть уже
Anton
Та ну
Anton
В рашке ?
Антон
А, в рашке нет, вроде
պլհկ
сделай подкаст “В гостях у тапка”
Нави
to_owned() и to_string() для str имеет одинаковое действие, отвязывает результат от входного str
Нави
сложно ли понять, поччему:
for iter in x.iter().map(|iter| iter.to_string()) {
y.insert(iter, 1.2);
}
выполняется гораздо быстрее, чем:
for iter in x.iter() {
y.insert(iter.to_string(), 1.2);
}
?
Нави
хотя нет, так же, вернее без разницы.
Вопрос - как правильнее делать
Philipp
второе лучше читается. хотя iter - вообще не говорящее имя для блока.
Нави
второе только получилось, если повторно использовать iter, то в первом ругается: ^^^^ value used here after move
Philipp
владение ресурсом передано
Philipp
попробуй передать ссылку
Нави
возможно вместо String луччше &'static str сделать, тогда .to_string() не придётся делать
Антон
Антон
Тогда у тебя строка будет жить столько же, сколько и вся программа, и чем больше таких строк будет, тем больше будет распухать бинарник
Philipp
глобальная строка, норм чо
Philipp
[сарказм]
Philipp
а вот такой вот вопросик:
есть выражение: &some_struct.hash_map[key]. результатом является одна ссылка на требуемый элемент. сам хеш тоже подвергается заимствованию?
нет, я правда нуб, и с растом только второй вечер играюсь.
Антон
Антон
Так что нет
Philipp
значит трабла не тут. ну тоже хорошо.
Cuno
Антон
Разве?
Cuno
Таки да
https://doc.rust-lang.org/std/collections/struct.HashMap.html#impl-Index%3C%26%27a%20Q%3E
Ни разу не видел его в действии :O
Антон
https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#impl-Index%3C%26%27a%20Q%3E
Philipp
а
Антон
А, опередили
Philipp
точно
Philipp
странно, но ок))
Dmitry
А для раста завезли нормальную иде? Желательно под винду. На край можно линукс минт. Если совсем все плохо, то редактор?
Cuno
https://doc.rust-lang.org/src/std/collections/hash/map.rs.html#1348-1350
В общем-то ясно, почему не видел.
Антон
Cuno
Cuno
насчет "нормальности" не уверен