Size: a a a

Rust — русскоговорящее сообществo

2020 March 04

В

Вафель in Rust — русскоговорящее сообществo
Руслан
Нет, метод возвращает String
Так погодите, почему тогда вторая строка &String, а не String?)

В общем для любого случая есть способ, но тут немного проблема XY, не понятно что именно вам надо
источник

p

polunin.ai in Rust — русскоговорящее сообществo
@ext_cat залей код на playground, а мы поможем чем сможем
источник

Р

Руслан in Rust — русскоговорящее сообществo
ок
источник

Р

Руслан in Rust — русскоговорящее сообществo
источник

r

red75prime in Rust — русскоговорящее сообществo
Some([txt.modifier.to_legacy_formatting().as_str(), &txt.text].concat()),
источник

r

red75prime in Rust — русскоговорящее сообществo
&String тут не конвертится в &str автоматически, так что приходится руками
источник

В

Вафель in Rust — русскоговорящее сообществo
Я бы, кстати, вообще без Option бы обошёлся: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=d6cc5e2bd44e4b3cdc7ba9eec99a61fe
источник

Р

Руслан in Rust — русскоговорящее сообществo
red75prime
Some([txt.modifier.to_legacy_formatting().as_str(), &txt.text].concat()),
то что нужно, спасибо еще раз
источник

N

Nickolay in Rust — русскоговорящее сообществo
ну да можно, но в моем случае это по любому будут функции, просто объявить тогда некоторые дефолтные функции и всё
источник

r

red75prime in Rust — русскоговорящее сообществo
Руслан
то что нужно, спасибо еще раз
Вообще-то нет. Тут достаточно push_str.  { let mut ret = txt.modifier.to_legacy_formatting(); ret.push_str(&txt.txt); ret }
источник

Р

Руслан in Rust — русскоговорящее сообществo
не разибраюсь что лучше пока (
источник

r

red75prime in Rust — русскоговорящее сообществo
.concat() в любом случае выделяет память. .push_str() реаллоцирует, если не хватает места в строке. Впрочем, тут наверно всегда реаллокация будет
источник

В

Вафель in Rust — русскоговорящее сообществo
red75prime
Вообще-то нет. Тут достаточно push_str.  { let mut ret = txt.modifier.to_legacy_formatting(); ret.push_str(&txt.txt); ret }
Можно просто +:
txt.modifier.to_legacy_formatting() + &txt.text

Он под капотом .push_str зовёт
источник

r

red75prime in Rust — русскоговорящее сообществo
Ага. Или так. Идиосинкразия на + для строк
источник

В

Вафель in Rust — русскоговорящее сообществo
Btw, add отпределён только для String. Т.е., это всегда .push_str
источник

В

Вафель in Rust — русскоговорящее сообществo
Nickolay
ну да можно, но в моем случае это по любому будут функции, просто объявить тогда некоторые дефолтные функции и всё
Понятно
источник

𝔍

𝔍 in Rust — русскоговорящее сообществo
Руслан
Жесть, мой жава мозг в шоке после перехода на раст
вот тоже порой пытаюсь начать петпрожект на расте, сажусь, смотрю на примеры кодов и также не могу привыкнуть к расту
источник

Р

Руслан in Rust — русскоговорящее сообществo
могли бы сделать конкат хотя бы в виде синт сахара
источник

В

Вафель in Rust — русскоговорящее сообществo
Руслан
могли бы сделать конкат хотя бы в виде синт сахара
Зачем? O_o
источник

Р

Руслан in Rust — русскоговорящее сообществo
для сокращения кода что ли
источник