&str
の変数入力を更新したいと思います。内部関数をCow
ではなく&str
に戻すにはどうすればよいですか?std :: borrow :: Cowの代わりに&strを返す<'_, str>
これは言語には問題ありませんが、regex-crateでは問題はありません。もっと簡単なものはありますか?
fn transform_the_expression() {
fn create_formula<'t>(input: &'t str, re: Regex) -> std::borrow::Cow<'t, str> {
let changed_string = re.replace(input, "1");
return changed_string;
}
let mut input = "(a+(b*c))";
use regex::Regex;
let re = Regex::new(r"\([\w\d][/*+-^][\w\d]\)").unwrap();
println!("input = {:?}", input);
input = create_formula(input, re);
println!("input = {:?}", input);
}
なぜですか?それを逆参照することによって 'Cow'からリファレンスを得ることができます。 – ljedrz
@ ljedrz:おそらく 'input = create_formula(input、re);'が働くようになるでしょう。 –