Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 什么是字符串向量上的连接运算符的等价物?_String_Rust - Fatal编程技术网

String 什么是字符串向量上的连接运算符的等价物?

String 什么是字符串向量上的连接运算符的等价物?,string,rust,String,Rust,我无法在Strings的向量上找到“join”操作符的Rust等价项。我有一个Vec,我想把它们作为一个字符串加入其中: let string_list = vec!["Foo".to_string(),"Bar".to_string()]; let joined = something::join(string_list,"-"); assert_eq!("Foo-Bar", joined); 相关的: 在Rust 1.3.0及更高版本中提供: fn main() { let s

我无法在
String
s的向量上找到“join”操作符的Rust等价项。我有一个
Vec
,我想把它们作为一个
字符串加入其中:

let string_list = vec!["Foo".to_string(),"Bar".to_string()];
let joined = something::join(string_list,"-");
assert_eq!("Foo-Bar", joined);
相关的:

    • 在Rust 1.3.0及更高版本中提供:

      fn main() {
          let string_list = vec!["Foo".to_string(),"Bar".to_string()];
          let joined = string_list.join("-");
          assert_eq!("Foo-Bar", joined);
      }
      
      在1.3.0之前,此方法称为:

      请注意,您不需要导入任何内容,因为这些方法是由Rust 1.3.0及更高版本中的自动导入的。

      可用于:

      fn main() {
          let string_list = vec!["Foo".to_string(),"Bar".to_string()];
          let joined = string_list.join("-");
          assert_eq!("Foo-Bar", joined);
      }
      
      在1.3.0之前,此方法称为:

      请注意,您不需要导入任何内容,因为方法是由自动导入的。

      如Wilfred所述,自版本1.3.0以来,已被弃用,以支持:

      如Wilfred所述,自版本1.3.0以来,已被弃用,取而代之的是:


      板条箱中有一个函数也被称为,它连接一个迭代器:

      extern crate itertools; // 0.7.8
      
      use itertools::free::join;
      use std::fmt;
      
      pub struct MyScores {
          scores: Vec<i16>,
      }
      
      impl fmt::Display for MyScores {
          fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
              fmt.write_str("MyScores(")?;
              fmt.write_str(&join(&self.scores[..], &","))?;
              fmt.write_str(")")?;
              Ok(())
          }
      }
      
      fn main() {
          let my_scores = MyScores {
              scores: vec![12, 23, 34, 45],
          };
          println!("{}", my_scores); // outputs MyScores(12,23,34,45)
      }
      
      外部板条箱工具;//0.7.8
      使用itertools::free::join;
      使用std::fmt;
      发布结构MyScores{
      分数:Vec,
      }
      impl fmt::MyScores的显示{
      fn fmt(&self,fmt:&mut fmt::Formatter)->fmt::Result{
      fmt.write_str(“mycores(“)?”)?;
      格式书写(&join(&self.scores[…],&“,”)))?;
      格式。写上“str”(“)”)?;
      好(())
      }
      }
      fn main(){
      让我的分数=我的分数{
      分数:vec![12,23,34,45],
      };
      println!(“{}”,我的分数);//输出我的分数(12,23,34,45)
      }
      
      板条箱中有一个函数也被称为连接迭代器的函数:

      extern crate itertools; // 0.7.8
      
      use itertools::free::join;
      use std::fmt;
      
      pub struct MyScores {
          scores: Vec<i16>,
      }
      
      impl fmt::Display for MyScores {
          fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
              fmt.write_str("MyScores(")?;
              fmt.write_str(&join(&self.scores[..], &","))?;
              fmt.write_str(")")?;
              Ok(())
          }
      }
      
      fn main() {
          let my_scores = MyScores {
              scores: vec![12, 23, 34, 45],
          };
          println!("{}", my_scores); // outputs MyScores(12,23,34,45)
      }
      
      外部板条箱工具;//0.7.8
      使用itertools::free::join;
      使用std::fmt;
      发布结构MyScores{
      分数:Vec,
      }
      impl fmt::MyScores的显示{
      fn fmt(&self,fmt:&mut fmt::Formatter)->fmt::Result{
      fmt.write_str(“mycores(“)?”)?;
      格式书写(&join(&self.scores[…],&“,”)))?;
      格式。写上“str”(“)”)?;
      好(())
      }
      }
      fn main(){
      让我的分数=我的分数{
      分数:vec![12,23,34,45],
      };
      println!(“{}”,我的分数);//输出我的分数(12,23,34,45)
      }
      
      也许这已经改变了,但是
      SliceConcatExt
      只在夜间使用。@Evert该特征被标记为不稳定,但其方法是稳定的,因此您可以使用它们。你不需要显式地
      使用
      这个特征,因为它在前奏曲中。@StevePowell@shepmaster如果我读对了你的“回复”,在
      itertools
      中有一个
      加入
      。谢谢@shepmaster。不幸的是,您对另一个答案的简单引用相当隐晦,因此根本不清楚该答案的哪一部分是相关的。尽管你的评论、更正和回答总是非常出色,但你的风格是居高临下的,令人讨厌。也许这已经改变了,但
      SliceConcatExt
      只在夜间发布。@尽管该特性标记为不稳定,但其方法是稳定的,因此你可以使用它们。你不需要显式地
      使用
      这个特征,因为它在前奏曲中。@StevePowell@shepmaster如果我读对了你的“回复”,在
      itertools
      中有一个
      加入
      。谢谢@shepmaster。不幸的是,您对另一个答案的简单引用相当隐晦,因此根本不清楚该答案的哪一部分是相关的。尽管您的评论、更正和回答总是非常优秀,但您的风格是居高临下和令人讨厌的。使用此代码的用户应该知道,它分配了一个潜在的大字符串,只是为了将其丢弃。将字符串直接写入输出会更有效。另请参见,.可以理解,虽然问题是关于
      连接
      ,而不是如何优化格式化算法,但没有?
      收集
      +
      连接
      更快且不添加依赖项,请参见此以获取基准。此代码的用户应该知道,它分配了一个可能较大的字符串,只是为了将其丢弃。将字符串直接写入输出会更有效。另请参见。可以理解,虽然问题是关于
      连接
      ,而不是如何优化格式化算法,但没有?
      收集
      +
      连接
      更快且不添加依赖项,请参见此以获取基准